Docker入门二(应用部署、迁移与备份)

文章目录

  • 一、应用部署
    • 1.MySQL部署
    • 2.Redis部署
    • 3.Nginx部署
  • 二、迁移与备份
    • 1.容器做成镜像
    • 2.把镜像被分成压缩包

一、应用部署

1.MySQL部署

	'在dokcer中部署mysql,以后不需要在宿主机上装mysql'1.做端口映射docker run -id --name=mysql5.7 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=1234 mysql:5.72.做目录映射-如果没有做目录映射,在mysql容器中表数据一旦删除就所有都没有了,一旦做了目录映射,重新创建相同的,数据会在里面还在1.docker pull mysql:5.7  拉取镜像2.mkdir /mysql  # 创建文件夹数据分离  在根目录下mkdir /mysql/conf.dmkdir /mysql/data/'创建好文件 写入配置'3.vim /mysql/my.cnf  # 如果在宿主机上没有安装vim,就使用vi创建'写入数据,就是和本机上面安装的mysql的配置文件差不多参数'[client]default-character-set=utf8[mysqld]user=mysqlcharacter-set-server=utf8default_authentication_plugin=mysql_native_passwordsecure_file_priv=/var/lib/mysqlexpire_logs_days=7sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTIONmax_connections=10004.做目录映射  # 基于镜像运行成容器 端口映射3306 目录映射docker run -di -v /mysql/data/:/var/lib/mysql -v /mysql/conf.d:/etc/mysql/conf.d -v /mysql/my.cnf:/etc/mysql/my.cnf -p 3307:3306 --name mysql5.7 -e MYSQL_ROOT_PASSWORD=1234 mysql:5.75.本地链接好容器mysql5.7,创建库、创建表,插入数据6.关闭容器,删除容器,这样mysql的容器就没有了,但是数据还在宿主机上放着docker stop mysql5.7docker rm mysql5.7'这个时候删除容器 数据还在 只需要再创建一个新的容器 做好目录映射就可以继续使用了,目录保持一致,密码保持一致'

2.Redis部署

	1.docker pull redis 	# 拉取redis镜像,不写版本默认latest2.mkdir /root/data    # 根目录创建data文件夹3.vim /root/redis.conf  # 创建并编辑redis配置文件bind 0.0.0.0daemonize NOprotected-mode yesrequirepass 12344.运行创建-启动容器时,运行的命令是什么 redis-server /etc/redis/redis.conf-在容器运行时,可以自己定制运行命名 举例:docker run -id centos:centos7 lsdocker run -id  -p 6379:6379 --name redis -v /root/redis.conf:/etc/redis/redis.conf -v /root/data:/data redis  redis-server /etc/redis/redis.conf5.运行redis容器,并写入数据,用本地能链接redis的软件链接一下查看,或者直接cmd链接docker exec -it redis /bin/bash'容器redis链接'redis cli  # 链接auth xxxx # 密码'cmd窗口链接查看'redis-cli -h ip地址 -p 端口号auth 密码'resp链接:填入链接名称(随意填)、地址、密码即可'

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

3.Nginx部署

1.docker pull nginx 	# 拉取nginx镜像
'没做映射操作'
2.docker run -id --name=nginx -p 80:80 nginx  # run起容器
3.从win机器浏览器可以访问:xx.xxx.xx:80
4.进入容器内部,修改index    /usr/share/nginx/htmldocker exec -it nginx /bin/bash
5.修改index.htmlvi、vim、yum都没有因为不是Centos系统apt-get updateapt-get install vim
'做映射操作'
6.做目录映射# /usr/share/nginx/html-docker run -id --name nginx1 -p 8088:80 -v /root/html:/usr/share/nginx/html nginx-cd /root/html-vi index.html  随便填入html文本 <h1>hello world!</h1>-进入到容器内部后到/usr/share/nginx/html目录就可以看到映射过来的index.html文件了'以后只需要修改宿主机的/root/html 路径,看到页面就是修改后的'

在这里插入图片描述
在这里插入图片描述

二、迁移与备份

1.容器做成镜像

	-镜像从哪来的?1 docker pull 拉的2 通过容器打包成镜像-centos镜像运行成容器---》装了vim-把装了vim的容器---》打包成镜像-以后拿到这个镜像--》再运行成容器,都会带vim命令3 Dockerfile构建-容器保存为镜像-运行一个centos容器docker run -id --name centos_vim centos:centos7-在容器中装vimdocker exec -it a6e240 /bin/bashyum install vim -y-把容器做成镜像(centos+vim)  需要退出容器,在宿主机上操作docker commit 容器名 镜像名docker commit centos_vim centos_vim-把centos_vim 容器删除docker rm centos_vim -f-基于新构建的镜像,运行成容器docker run -id --name centos_vim centos_vim:latest-进入到容器中,查看,软件都在docker exec -it c3e633bd1 /bin/bash

2.把镜像被分成压缩包

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/742267.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网工内推 | 国企、上市公司网工、运维,CCNA即可,补贴福利多

01 深圳新思 招聘岗位&#xff1a;网络工程师&#xff08;中电集团&#xff09; 职责描述&#xff1a; 1&#xff1a;负责办公室电脑的桌面运维&#xff0c;主要是windows维护与应用维护&#xff1b; 2&#xff1a;负责办公室网络设备配置&#xff0c;如防火墙&#xff0c;交换…

CMake 编译 raylib 程序

CMakeLists.txt 内容如下&#xff1a; cmake_minimum_required(VERSION 3.0) project(t001) # 搜索指定目录下源文件 file(GLOB SRC_LIST ${CMAKE_CURRENT_SOURCE_DIR}/*.cpp) # 包含头文件路径 include_directories(F:/vclib/raylib-5.0_win64_mingw-w64/include) # 包含静态…

CountDownLatch介绍和使用

1. CountDownLatch是什么 CountDownLatch 是 Java.util.concurrent 包中的一个同步工具类&#xff0c;用于控制线程的执行顺序。它的主要作用是让一个或多个线程等待其他线程完成操作后再继续执行。 2. CountDownLatch 类常用方法 CountDownLatch(int count) 是 CountDownLa…

软件测试基础概念

一、需求 定义&#xff1a;满足用户期望或正式规定文档所需条件和技能&#xff0c;包含用户需求 用户需求&#xff1a;用户使用产品所必须完成的任务 该需求比较简略 软件需求&#xff1a;详细描述开发人员必须实现的软件功能 需求是标准&#xff0c;测试人员按照这个标准测…

全球首个 AI 超级工程师:拥有全栈技能,一个指令就能完成整个开发过程

全球首位AI软件工程师Devin是由初创公司Cognition推出的&#xff0c;它被认为是世界上第一个完全自主的AI软件工程师[2][15]。Devin具备强大的编程和软件开发能力&#xff0c;能够在多个方面协助或完全独立地完成软件开发任务[15]。它的核心能力包括自学新语言、开发迭代App、自…

C语言分析基础排序算法——归并排序

目录 归并排序 递归版本 非递归版本 非递归版本的问题 归并排序小优化 归并排序 归并排序&#xff0c;分为分治以及合并&#xff0c;分治部分可以使用递归或者非递归完成&#xff0c;归并排序的基本思路是&#xff1a;将已有序的子序列合并&#xff0c;得到完全有序的序列…

社区维修平台|基于SpringBoot+ Mysql+Java+JSP技术的社区维修平台设计与实现(可运行源码+数据库+设计文档+部署说明+视频演示)

推荐阅读100套最新项目 最新ssmjava项目文档视频演示可运行源码分享 最新jspjava项目文档视频演示可运行源码分享 最新Spring Boot项目文档视频演示可运行源码分享 目录 前台功能效果图 住户后台功能 维修员前台功能 维修员后台功能 管理员功能登录 系统功能设计 数据库E…

C++面试题和笔试题(四)

一、intx[6][4],(*p)[4];px;则*(p2)指向哪里&#xff1f; A X[0][1]B X[0][2]C X[1][0]D X[2][0] 官方解释&#xff1a; D int x[6][4], (*p)[4]; p x; 在这里&#xff0c;x 是一个二维数组&#xff0c;它有6行和4列。p 是一个指向具有4个整数的数组的指针。 当你执行…

DevOps-SonarQube整合Jenkins

下载SonarQube Scanner 登录Jenkins服务器&#xff0c;下载SonarQube Scanner wget https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-5.0.1.3006-linux.zip安装unzip&#xff0c;需要通过它来解压zip压缩包 yum install -y unzip解压So…

基于Web的论文管理系统设计

目 录 目 录 III 摘 要 V 关键词 V Abstract VI Key Word VI 第一章 绪论 6 1.1系统设计背景 1 1.2系统设计目的与意义 1 1.3国内外现状 2 1.4本文结构 3 第二章 需求分析 3 2.1系统需求分析 4 2.2系统角色设计 4 第三章 系统开发技术 4 3.1 PHP语言简介和特点 5 3.2 Mysql数据…

【项目笔记】java微服务:黑马头条(day02)

文章目录 app端文章查看&#xff0c;静态化freemarker,分布式文件系统minIO1)文章列表加载1.1)需求分析1.2)表结构分析1.3)导入文章数据库1.3.1)导入数据库1.3.2)导入对应的实体类 1.4)实现思路1.5)接口定义1.6)功能实现1.6.1)&#xff1a;导入heima-leadnews-article微服务&am…

数据库管理-第160期 Oracle Vector DB AI-11(20240312)

数据库管理160期 2024-03-12 数据库管理-第160期 Oracle Vector DB & AI-11&#xff08;20240312&#xff09;1 向量的函数操作to_vector()将vector转换为标准值vector_norm()vector_dimension_count()vector_dimension_format() 2 将向量转换为字符串或CLOBvector_seriali…

明明jar包存在却报错找不到包名?两招教你解决java: 程序包org.springframework.context.annotation不存在问题!

一、问题提出 IDEA项目有时因为依赖库的问题出现出错&#xff1a; java: 程序包org.springframework.context.annotation不存在&#xff0c;如下图。 二、解决办法 方案1&#xff1a; 重新导入项目 ① 将项目中 .idea .iml 全部删除&#xff0c;项目重新导入 ② 用idea重新…

看完让你的RSA提升一个台阶 [GKCTF 2021]RRRRsa

阅读须知: 探索者安全团队技术文章仅供参考,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作,由于传播、利用本公众号所提供的技术和信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,作者不为此承担任何责任,如有侵权烦请告知,我们会立即删除…

2024计算机二级Python

1. 栈是先进先出&#xff0c;队是后进后出 2. 代码输出长度为5并不是\不占用位置&#xff0c;而是\与其后边的数字共同占用一个字符 3. 首先要弄清range函数此时表示的范围是前闭后开&#xff0c;不包含后面的数字&#xff0c;%函数表示的是余数&#xff0c;只有4是被整除的…

案例分析篇15:软件开发方法考点(2024年软考高级系统架构设计师冲刺知识点总结系列文章)

专栏系列文章推荐: 2024高级系统架构设计师备考资料(高频考点&真题&经验)https://blog.csdn.net/seeker1994/category_12593400.html 【历年案例分析真题考点汇总】与【专栏文章案例分析高频考点目录】(2024年软考高级系统架构设计师冲刺知识点总结-案例分析篇-…

ios xcode 15 PrivacyInfo.xcprivacy 隐私清单 查询应用使用的隐私api

1.需要升级mac os系统到13 兼容 xcode 15.1 2.升级mac os系统到14 兼容 xcode 15.3 3.选择 New File 4.直接搜索 privacy 能看到有个App Privacy 5.右击Add Row 7.直接选 Label Types 8.选中继续添加就能添加你的隐私清单了 苹果官网文档

每日一题——LeetCode1678.设计Goal解析器

方法一 splice 将字符串转为数组&#xff0c;对数组进行遍历&#xff0c;碰到G保持不变&#xff0c;继续循环&#xff0c;碰到 ( 看他后一位&#xff0c;是 ) 则删除两个元素&#xff0c;添加一个 o &#xff0c;不是则删除四个元素&#xff0c;添加元素 al &#xff0c;最后将…

打工人狂喜,微信管理既如此简单

微信作为一款全民的社交软件&#xff0c;已经成为人们日常生活中必不可少的通讯工具。不仅个人使用广泛&#xff0c;很多企业也依赖微信进行业务沟通和客户服务。然而&#xff0c;对于企业用户来说&#xff0c;管理多个微信号确实带来了许多繁琐和不便之处。 但是&#xff01;…

【经验分享】创建团队编程训练区,发布编程打卡题及考核

总结&#xff1a; 1、在vijos平台上创建团队编程训练区&#xff0c;管理加入的成员&#xff0c;训练区内的资源仅对成员公开&#xff1b; 2、发布编程题让团队成员进行训练&#xff0c;能够实时查询成员通关情况&#xff1b; 3、能够想发布限时考试&#xff0c;对成员进行考核。…