文章目录
- 一、应用部署
- 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