Dockerfile:CMD的使用注意
CMD是为启动的容器指定的、默认要运行的程序,程序运行结束,容器也就随之结束了。
如何进入和退出放在后台的镜像(docker run -itd运行的)
进入
docker attach 容器ID
退出:这样退出后镜像不会停止
Ctrl + P + Q
在镜像里source命令失效
docker run -it进入镜像后,source /etc/profile(例如),退出后commit,重新进入时,环境变量并没有发生改动。这是因为:
docker容器启动时,需要生效一下配置的环境变量,环境变量配置在镜像内部的~/.bash_profile文件内,但是每次启动时,都不能自动执行source,环境变量无法生效。
来自 https://blog.csdn.net/u010483897/article/details/95363587
解决:考虑在Dockerfile中使用ENV,比如
ENV JAVA_HOME=/usr/lib/jvm/jdk-15.0.1 JRE_HOME=/usr/lib/jvm/jdk-15.0.1