在docker中构建nginx服务(排错)

上一篇我们遇到了一个小障碍,web页面的乱码,准备把网页里的内容替换成英文。

首先我们进入容器,把html里的内容替换掉

[root@localhost docker_nginx]# docker exec-it web /bin/bash

root@8b9e123d3581:/# echo 'happy new year ,dog year wang wang' > /usr/share/nginx/html/index.html

我原以为替换掉之后重启nginx服务就可以,尴尬地发现,重启服务之后,容器退出了


之前给大家提到过,容器具有写时复制的特性,也就是说,刚刚我们所做的修改全部在读写层,文件底层内容并没有改变。也就是说,如果我们把这个容器重启,那么web界面里的内容依然是中文的,依然乱码;

其实,我们再创建镜像时又两种方式:一种就是像上一篇说的,利用dockerfile去从无到有的去创建一个镜像,另一种就是对已有的容器进行修改,再把这个容器提交为镜像,这种动作称为commit。

首先我们先把原来的容器删掉,重新运行一个

[root@localhost docker_nginx]# docker rm -f 8b9e123d35819a059da47d10d19e4b0c27168a1b

8b9e123d35819a059da47d10d19e4b0c27168a1b7d9ef54324504839fd0f817e

[root@localhost docker_nginx]# docker run -d -p 80:80 --name web 8ad05e091619 nginx

afa0c42bc4c7130937528fbb5baa3771063e5089b00ab3104eb911fc22424927


进入容器,把html文件内容更改掉

[root@localhostdocker_nginx]# docker exec -itafa0c42bc4c7130937528fbb5baa3771063e5089b00ab3104eb911fc22424927  /bin/bash

root@afa0c42bc4c7:/#echo 'happy new year , dog year wang wang' >/usr/share/nginx/html/index.html


将容器提交

[root@localhost docker_nginx]# dockercommit afa0c42bc4c7 happynewyear

删除原有的容器(如果不删除,那么新容器映射时不要映射宿主机的80端口)

docker rm -f afa0c42bc4c7

用新提交的镜像创建容器

docker run -d -p 80:80 --name happywebhappynewyear nginx -g "daemon off;"


大功告成,祝大家新年快乐,狗年大吉!


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值