远程桌面每日重启后,无需删除Docker容器即可启动的方法
解决Docker容器启动冲突的几种方法
你遇到的问题是因为远程桌面重启后,之前创建的容器只是处于停止状态并未被删除,再次执行docker run时会因重名报错。以下是几种无需删除容器即可启动的解决方案:
1. 直接启动已存在的停止容器
如果容器的配置(环境变量、挂载目录、端口映射等)不需要修改,直接启动已停止的容器即可:
docker start eicapp
可先执行docker ps -a查看容器状态,确认eicapp容器存在且状态为Exited。
2. 启动容器时自动清理旧容器
在docker run命令中添加--rm参数,容器停止后会自动被删除,下次执行run命令时就不会出现重名冲突:
docker run --rm --env-file ..env -e REDIS_HOST=stredis -v C:\inetpub\einvoice-connect\src:/var/www/eic -p 443:8443 -d --name eicapp eic:latest
该方案适合每次启动都需要全新容器实例的场景,由于你已挂载本地目录到容器内,代码和数据会保存在本地,不会因容器删除丢失。
3. 设置容器自动重启
通过添加--restart参数,配置容器在Docker守护进程启动时自动重启(比如远程桌面重启后),无需手动执行启动命令:
docker run --env-file ..env -e REDIS_HOST=stredis -v C:\inetpub\einvoice-connect\src:/var/www/eic -p 443:8443 -d --name eicapp --restart unless-stopped eic:latest
参数说明:
--restart always:无论容器因何原因停止,都会自动重启--restart unless-stopped:容器正常停止(如执行docker stop)时不会自动重启,其他情况(如系统重启、容器崩溃)会自动重启
内容的提问来源于stack exchange,提问作者Juan Pablo B
相关产品推荐
相关产品推荐

