在 Docker 中,可通过多种方式让容器在开机时自动启动,以下为你详细介绍不同场景下的实现方法。
方法一:创建容器时设置自动启动
在使用docker run
命令创建并启动容器时,添加 --restart
选项,就能指定容器的重启策略。若要让容器开机自动启动,可将重启策略设置为 always
或者 unless-stopped
。
1. 使用 --restart always
此策略会让容器始终重启,不管它是因为什么原因停止的,包括手动停止。示例命令如下:
docker run -d --restart always --name my_container nginx:latest
上述命令创建并启动了一个名为 my_container 的 Nginx 容器,且设置了 --restart always
选项,这意味着该容器在开机时会自动启动。
2. 使用 --restart unless-stopped
该策略会让容器在除手动停止之外的任何情况下重启。示例命令如下:
docker run -d --restart unless-stopped --name my_container nginx:latest
此命令同样创建并启动了一个名为 my_container 的 Nginx 容器,不同的是,当你手动停止该容器后,它在开机时就不会自动启动了。
方法二:对已存在的容器设置自动启动
若容器已经创建好,可使用 docker update
命令来修改其重启策略。
1. 设置 --restart always
docker update --restart always my_container
上述命令将名为 my_container 的容器的重启策略设置为 always,这样该容器在开机时就会自动启动。
2. 设置 --restart unless-stopped
docker update --restart unless-stopped my_container
此命令将名为 my_container 的容器的重启策略设置为 unless-stopped,在手动停止该容器之前,它会在开机时自动启动。
方法三:使用 Docker Compose 实现开机自动启动
如果你使用 Docker Compose 来管理容器,可在 docker-compose.yml 文件中为每个服务添加 restart 选项。
以下是一个示例 docker-compose.yml 文件:
version: '3'
services:
my_nginx:
image: nginx:latest
restart: always
ports:
- "80:80"
在上述文件中,restart: always
选项指定了 my_nginx 服务会始终重启,包括开机时自动启动。
要应用这个配置文件,可在其所在目录下执行以下命令:
docker-compose up -d
此命令会根据 docker-compose.yml 文件创建并启动服务,同时应用设置的重启策略。
本文为原创文章,版权归旷野小站所有,欢迎分享本文,转载请保留出处!
你可能也喜欢
- ♥ docker logs命令详解03/09
- ♥ Linux上vi(vim)编辑器使用教程04/15
- ♥ docker-compose部署lnmp架构12/06
- ♥ nextcloud运行缓慢的优化12/17
- ♥ screen使用教程03/18
- ♥ WSL创建备份及还原03/01