创建好docker容器后,想要修改容器的启动脚本。但是没有找到能修改启动脚本的命令,发现修改容器的config.v2.json可以修改启动命令。
(如果哪位dalao知道更好的方法麻烦评论区指教= =..)
1、找到要修改启动命令的容器ID
docker container ls -a
这里以修改c74297edeea6容器为例
2、停止docker服务
Ubuntu/CentOS等可以用systemctl、service等命令停止docker,DSM系统可以通过禁用docker停止。
必须要关闭,否则修改的内容无效
3、找到容器配置文件夹
找到docker的数据目录下的containers文件夹,找到容器ID开头的文件夹。
4、编辑容器配置文件夹内的config.v2.json
要修改的地方有三个字段,分别是Path、Args,和Cmd。
其中Path是可执行文件,Args是参数,Cmd是完整命令
假设我们希望容器的启动命令是jupyter notebook
则Path修改为Jupyter,Args改为["notebook"],Cmd改为["jupyter", "notebook"]
5、重新打开docker,发现启动命令修改成功了
你应该加上使用下面的语句找到修改config.v2.json文件的位置:
docker inspect [containerID]
在返回的结果中查询字段:
ResolvConfPath
的值所在文件夹或者简单粗暴的COPY覆盖,重新build
Dockerfile:
FROM yourimage
COPY start.sh /start.sh
WORKDIR /
CMD ["sh","./start.sh"]