我有一些带有一些服务的简单容器。
当我重新启动服务器而不停止该容器时,我无法再次启动它。
错误信息是:
pidfile found, try stopping another running service or delete /var/run/service.pid
Run Code Online (Sandbox Code Playgroud)
我知道我可以
rm -f /var/run/service.pid && original_entrypoint.sh但我只想做类似的事情
docker rm_file container:/var/run/service.pid; docker start container
Run Code Online (Sandbox Code Playgroud)
因为它是最简单、最快速的启动解决方案。
难道这里没有办法在不完全重建容器的情况下访问容器的文件系统吗?这个操作看起来很有用...
我自己使用另一个答案的提示来回答
查找 docker 主机上存储的目录:
export LOCAL_DIR=$(docker inspect -f '{{ .GraphDriver.Data.UpperDir }}' container_name)
Run Code Online (Sandbox Code Playgroud)
本地删除文件:
sudo rm -f ${LOCAL_DIR}/run/service.pid
Run Code Online (Sandbox Code Playgroud)
运行容器:
docker start container_name
Run Code Online (Sandbox Code Playgroud)
或者合二为一:
sudo rm -f "$(docker inspect -f '{{ .GraphDriver.Data.UpperDir }}' container_name)/run/service.pid" && docker start container_name
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6449 次 |
| 最近记录: |