一、前提
docker的基础可以自己查找资料
用最基本的nginx镜像
docker pull docker.io/nginx
1.1 结构
使用nginx进行动态代理dist文件,该案例使用的端口为9000,并且把dist挂载到宿主机子上
二、运行nginx
docker run -itd -p 9000:9000 --privileged=true --name=cz-buy-chat -v /usr/share/cz-buy-chat:/opt docker.io/nginx
docker关键词解释:
-itd :指在后台进行运行
-p 9000:9000 : 指镜像的端口映射到宿主机的端口
–privileged=true : 获取镜像对宿主机的文件操作
–name=cz-buy-chat : 镜像名字为 cz-buy-chat
-v /usr/share/cz-buy-chat:/opt : 把镜像中的/opt挂载到宿主机/usr/share/cz-buy-chat路径上
三、修改镜像中的 nginx.conf
查看镜像的id
[root@VM_0_14_centos testshell]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
68eece7904a5 docker.io/nginx "/docker-entrypoin..." 3 seconds ago Up 2 seconds 80/tcp, 0.0.0.0:9000->9000/tcp cz-buy-chat
进入镜像并且找到nginx.conf
[root@VM_0_14_centos testshell]# docker exec -it cz-buy-chat /bin/bash
root@68eece7904a5:/# find / -name nginx.conf
/etc/nginx/nginx.conf
遇到问题, 发现没有 vi 命令
root@68eece7904a5:/etc/nginx# vi nginx.conf
bash: vi: command not found
解决办法,删除掉 nginx.conf , 再从外部进行拷贝。
root@68eece7904a5:/etc/nginx# rm nginx.conf
快捷键 ctrl + p 和 ctrl + q 退出镜像。
把外部的nginx文件拷贝到镜像中
docker cp /usr/local/testshell/nginx.conf cz-buy-chat:/etc/nginx/
重启镜像
docker restart 68eece7904a5