docker-应用部署
1.mysql部署
# 将data路径、配置文件路径、配置文件分别映射到容器中。但是我们目前没有文件夹,首先在home路径下创建文件夹:
mkdir /home/mysql
mkdir /home/mysql/conf.d
mkdir /home/mysql/data/
# 然后创建my.cnf并且编辑,将以下内容复制进去并且保存:
[client]
default-character-set=utf8
[mysqld]
user=mysql
character-set-server=utf8
default_authentication_plugin=mysql_native_password
secure_file_priv=/var/lib/mysql
expire_logs_days=7
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
max_connections=1000
然后将配置文件进行映射:
docker run -di -v /home/mysql/data/:/var/lib/mysql -v /home/mysql/conf.d:/etc/mysql/conf.d -v /home/mysql/my.cnf:/etc/mysql/my.cnf -p 1434:3306 --name mysql -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7
# 冒号后面的为容器上的路径


当我们在本地操作增加一个库,这个库也会同步到data目录下:


进入到该mysql容器中:
docker exec -it 0f840dff7e69 /bin/bash
进入到mysql中:
mysql -uroot -p123456

然后我们现在先停止,再删除容器。但是当我进入到/home/mysql/data目录下,我们的数据文件(库、表)都还在:
docker stop 0f840dff7e69 # 停止容器
docker rm 0f840dff7e69 # 删除容器

这时我们只需要重新执行上面的命令,执行同样的配置,再次开启一个容器,做好目录映射,数据都还在:


2.nginx部署
1.拉取并且运行镜像
docker run -id --name nginx -p 80:80 nginx

如果访问的是阿里云服务器需要在安全组上配置端口:


2.在宿主机家目录下,新建一个html目录,新建一个index.html,并且编辑内容:
mkdir html
vim index.html

3.然后停掉nginx容器,
docker stop b738d42a2801
4.创建一个新的nginx1容器,和宿主机index.html所在的目录做目录映射
docker run -id --name nginx1 -p 80:80 -v /html/:/usr/share/nginx/html nginx # 目录映射
docker exec -it 1f3c6a42f190 /bin/bash # 切换到容器中
cd /usr/share/nginx/html # 切换到目标目录下
ls # index.html
cat index.html # <h1>index</h1> index.html成功映射到该目录下
然后直接访问宿主机ip(端口默认80),发现我们可以访问到index.html

3.部署redis
1.拉取镜像
docker pull redis
2.目录映射
docker 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.conf
3a2eb19d77a460e1d69a674795b7910b4f1520a6bb841eec7eb49c7470208e5a
3.进入到容器内:
docker exec -it f3dbd235e07a /bin/bash
4.执行redis-cli,就可以进入到redis中
redis-cli





4.迁移与备份
我们之前学习了镜像启动成容器,但是容器桩的很多软件也可以编程一个镜像,此后我们再启动这个镜像,还能够恢复容器之前的过程(类似三体世界中人脱水和浸泡的过程浸泡之后拥有脱水之前的一切特质)
1.运行一个centos对的容器:
docker run -id --name centos_vim centos:7
2.进入到容器
docker exec -it 8ea15a3326d6 /bin/bash
3.在centos中安装yum:
yum install vim
4.在aaa路径下创建xx.py,写入一句代码:
mkdir aaa
cd aaa
vim xx.py # 编辑xx.py


5.将容器打包成镜像(需要在容器外执行,容器内没有docker命令):
docker commit centos_vim centos_vim_image
# centos_vim是容器名,centos_vim_image是镜像名
成功将容器转化成镜像:

6.删除容器,并用镜像构件新的容器,成功运行并且所以之前的东西都在:
docker rm 8ea15a3326d6 -f
docker run -id --name centos_vim centos_vim_image:latest


浙公网安备 33010602011771号