DockerHub官方nginx镜像问题

从DockerHub上面拉取了官方nginx镜像,运行了之后,查看系统版本

clipboard.png

但是,类似ps,vi,等等很多基本指令都用不了,

clipboard.png

clipboard.png

你们大伙是怎么弄得,这官方的镜像还能愉快地使用么?没有vi工具,该怎么管理nginx配置呀?

阅读 5.8k
5 个回答

镜像是正常的,为了减小体积,很多我们日常使用的软件都不包含在镜像里的。
docker官方nginx基于debian:stretch-slim,而debian:stretch-slim的Dockerfile如下

FROM scratch
ADD rootfs.tar.xz /
CMD ["bash"]

scratch是空镜像,rootfs.tar.xz很精炼,这是其包含的软件清单

在官方 nginx 镜像运行的容器中安装 vim 等基础工具,然后在把这个容器 commit 成一个镜像A,以后你要用,就 run 镜像 A 就行了。

因为vi不是自带的,需要另外装。

你可以在dockfile里面配置好

一般来说,docker container 中的配置文件最好通过 VOLUME 映射到外部来管理,因为升级时你需要删掉 container 再根据新版的 image 从新创建,如果直接在 container 中修改的话配置每次升级就会丢失。

如果实在想用虚拟机的方式使用 container,并且不想在里面装基本命令工具的话,可以 docker cp 出来修改好再拷贝进去,然后 docker restart [container id] 就可以了。

具体可以参考官方 docker 文档中 Complex configuration 这一段: https://hub.docker.com/r/libr...

vi不是自带的,自己装然后做成新镜像吧

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题