使用 Systemd 管理启动容器 电脑版发表于:2021/6/21 9:24 ![Docker远征](https://img.tnblog.net/arcimg/hb/656ec4beace04f5e9a7b1d58b6368639.jpg "Docker远征") >#使用 Systemd 管理启动容器 [TOC] tn>使用 Systemd 启动 Docker 容器时,服务文件通过 Docker CLI 管理进程。 创建服务 ------------ >创建服务文件 ```bash vim redis.service ``` >添加如下服务内容 ```bash [Unit] Description=Redis container Requires=docker.service After=docker.service [Service] Restart=on-failure RestartSec=10 ExecStartPre=-/usr/bin/docker stop redis ExecStartPre=-/usr/bin/docker rm redis ExecStart=/usr/bin/docker run --name redis redis ExecStop=/usr/bin/docker stop redis [Install] WantedBy=multi-user.target ``` 复制服务文件 ------------ tn>为了让 Systemd 管理服务,单元文件需要在`/etc/systemd/system` ```bash sudo cp redis.service /etc/systemd/system # 添加自启动 sudo systemctl enable /etc/systemd/system/redis.service ``` 启动服务 ------------ >使用 CLI 启动服务。 ```bash sudo systemctl start redis.service ``` 查看服务启动情况 ------------ ```bash docker ps ``` >由于该进程是通过 `Systemd` 运行的,它还提供了对日志文件的访问权限`journalctl`。以下命令将通过 Systemd 输出日志。这在调试服务未成功启动的原因时很有用。 ```bash journalctl --no-pager -u redis.service ```