22. 坑
Dockerfile中的EXPOSE、docker run --expose、docker run -p
之间的区别
Dockerfile的EXPOSE相当于docker run --expose,提供container
之间的端口访问。docker run -p允许container外部主机访问
container的端口
Docker只允许运行一条CMD命令,而且有继承性。比如有个镜像
base,Dockerfile中CMD启动ssh服务。基于镜像base的新镜像
redis的Dockerfile CMD启动redis服务。那么ssh服务就不会启动
了。要启动多个服务,可以通过CMD supervisor
Docker中好像不能创建用户。即使创建了用户,会有权限问题,比
如/etc/不能访问,
bash-4.1$ whoami
whoami: cannot find name for user ID 501
任何commit都会将以前的CMD命令清除。如:进入container,修改
一个文件之后commit,生成的新镜像丢失原来的CMD命令