前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >docker学习系列2 保存对容器的修改

docker学习系列2 保存对容器的修改

作者头像
mafeifan
发布2018-09-10 12:09:54
5.4K4
发布2018-09-10 12:09:54
举报
文章被收录于专栏:finleyMafinleyMa

接上篇

docker容器虽然运行起来了。

但遇到了新的问题:

  1. 容器内安装的服务器是nginx,nginx对 PHPINFO 支持不好,对于ThiankPHP项目,简单的说在apache服务器下运行 http://localhost:8088/home/Index/index 能正常返回结果,而nginx返回404,必须要写成 http://localhost:8088/index.php?m=home&c=Index&a=demo 所以我需要修改nginx配置文件,使其支持。
  2. 由于容器本身是无状态的我修改完配置文件,关闭docker,下次在启动后还是原样,我需要保存修改。

下面是解决方法:

  1. 容器为了精简没有按照VIM,编辑文件不方便,要先安装 apt-get update; apt-get install vim 如果执行 apt-get update 超时了,得访问外国网站。
  2. vi /etc/nginx/sites-enabled/default 编辑并修改配置文件,记得最好先备份
  3. 修改完新开个窗口 先执行 docker ps 查看正在运行的容器,复制 container id。 然后 docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]] 如 docker commit cb439fb2c714 finley/phpenv:tp3.2 commit 会基于对container的修改创建一个新的镜像 具体用法请参见官方文档:commit

注意: 经查,不推荐更改运行中的容器配置,容器本身是无状态的,当然也可以通过进入容器内部的方式进行更改: docker exec -it 这样的更改是无法持久化保存的,当容器重启后,更改就丢失了,正确的做法是将需要持久化保存的数据放在挂载的存储卷中,当配置需要改变时直接删除重建。

回顾:

代码语言:javascript
复制
# 从别人那拉个镜像
docker pull eriksencosta/php-dev
# 基于上面的镜像加入了自己的修改并提交为自己的镜像,还打了tag
docker commit cb439fb2c714  finleyma/php-dev:tp3.2

问题: 这个项目的环境是有了,但是是多人开发,我如何将我的配好的镜像分享给他人呢? 见下篇

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018.07.28 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器镜像服务
容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档