docker run启动镜像容器时忘记添加开机自启动解决方法


问题描述

在使用以下命令启动mysql容器时,忘记添加了–restart=always 开启开机自启动,导致每次开机/重启后,需要重新通过一系列命令手动重启对应的容器,极其不方便。

docker run -d -p 3306:3306 -v /usr/local/mysql/conf:/etc/mysql/conf.d -v /usr/local/mysql/data:/var/lib/mysql -e 
MYSQL_ROOT_PASSWORD=123456 --name  mysql mysql:5.7

这里对上面的参数做下简单的介绍:
配置端口映射:
-p 3306:3306 --name mysql
将容器的3306端口映射到主机的3306端口
配置mysql数据卷挂载
1.-v /mydata/mysql/log:/var/log/mysql(日志文件挂载)
将容器中的日志文件夹/var/log/mysql挂载到主机对应的/mydata/mysql文件夹中
2.-v /mydata/mysql/data:/var/lib/mysql(数据文件挂载)
将容器中的数据文件夹/var/lib/mysql挂载到主机对应的/mydata/mysql/data文件夹中
3.-v /mydata/mysql/conf:/etc/mysql(配置文件挂载)
将容器的配置文件夹/etc/mysql挂载到主机对应的/mydata/mysql/conf文件夹中
注(这里所提的主机指的是当前的linux主机)
配置用户
-e MYSQL_ROOT_PASSWORD=123456
设置初始化root用户的密码为123456
指定镜像资源
-d mysql:5.7
-d:以后台方式运行实例
mysql:5.7:指定用这个镜像来创建运行实例

解决方案:

  1. docker ps -a 查看镜像,包含未启动镜像。
  2. 使用命令docker update CONTAINER ID(容器id)/NAMES(容器名称) --restart=always,以为MySQL添加开机自启动命令为例,则命令如下:
docker update 18d0f5c31c6b --restart=always 等价于 docker update mysql --restart=always
  1. reboot 重启服务器,再键入docker ps即可看到之前未开机自启动的容器已经可以开机自启动了。

图1

猜你喜欢

转载自blog.csdn.net/qq_37196265/article/details/129465713
今日推荐