修改Docker容器启动配置参数

有时候,我们创建容器时忘了添加参数 --restart=always ,当 Docker 重启时,容器未能自动启动,

现在要添加该参数怎么办呢,方法有二:

1、Docker 命令修改

docker container update --restart=always 容器名字

2、直接改配置文件

首先停止容器,不然无法修改配置文件

配置文件路径为:/var/lib/docker/containers/容器ID

在该目录下找到一个文件 hostconfig.json ,找到该文件中关键字 RestartPolicy

修改前配置:“RestartPolicy”:{“Name”:“no”,“MaximumRetryCount”:0}

修改后配置:“RestartPolicy”:{“Name”:“always”,“MaximumRetryCount”:0}

最后启动容器。

修改docker容器的挂载路径

停止所有docker容器
sudo docker stop $(docker ps -a | awk ‘{ print $1}’ | tail -n +2)
停止docker服务
sudo service docker stop
修改mysql路径
cd ~
sudo cp -r mysql/ /home/server/
备份容器配置文件
cd /var/lib/docker/containers/de9c6501cdd3
cp hostconfig.json hostconfig.json.bak
cp config.v2.json config.v2.json.bak
修改hostconfig的冒号前的配置路径
vi hostconfig.json

“Binds”: ["/home/server/mysql/conf/my.cnf:/etc/mysql/my.cnf", “/home/server/mysql/logs:/logs”, “/home/server/mysql/data:/mysql_data”],
修改config的Source的配置路径

vi config.v2.json

   "MountPoints": {

          "/etc/mysql/my.cnf": {

                 "Source": "/home/server/mysql/conf/my.cnf",

                 "Destination": "/etc/mysql/my.cnf",

                 "RW": true,

                 "Name": "",

                 "Driver": "",

                 "Relabel": "",

                 "Propagation": "rprivate",

                 "Named": false,

                 "ID": ""

          },

          "/logs": {

                 "Source": "/home/server/mysql/logs",

                 "Destination": "/logs",

                 "RW": true,

                 "Name": "",

                 "Driver": "",

                 "Relabel": "",

                 "Propagation": "rprivate",

                 "Named": false,

                 "ID": ""

          },

          "/mysql_data": {

                 "Source": "/home/server/mysql/data",

                 "Destination": "/mysql_data",

                 "RW": true,

                 "Name": "",

                 "Driver": "",

                 "Relabel": "",

                 "Propagation": "rprivate",

                 "Named": false,

                 "ID": ""

          },

          "/var/lib/mysql": {

                 "Source": "",

                 "Destination": "/var/lib/mysql",

                 "RW": true,

                 "Name": "85d91bff7012b57606af819480ce267449084e81ab386737c80ace9fe75f6621",

                 "Driver": "local",

                 "Relabel": "",

                 "Propagation": "",

                 "Named": false,

                 "ID": "897cd0152dd152166cb2715044ca4a3915a1b66280e0eb096eb74c2d737d7f77"

          }

   },

启动docker服务
sudo service docker start
启动所有docker容器
sudo docker start $(docker ps -a | awk ‘{ print $1}’ | tail -n +2)
删除所有无用容器
docker ps -a | awk '{ print $1}' | wc -l 统计共有多少容器
docker rm $(docker ps -a | awk '{ print $1}' | tail -n -num) //删除倒数num个容器
如果无用的比较多,启动所有有用的,再删除,运行中的容器是不能被移除的

修改docker默认的存储位置

docker 的所有images及相关信息存储位置为:/var/lib/docker

查看默认的docker存储路径
docker info |grep ‘Docker Root Dir’
WARNING: No swap limit support
Docker Root Dir: /var/lib/docker
停止所有docker容器
sudo docker stop $(docker ps -a | awk ‘{ print $1}’ | tail -n +2)
停止docker服务
sudo service docker stop
cd /var/lib
打包docker目录
sudo tar -czvf /usr/docker.tar.gz docker/
cd /usr/
sudo tar -xzvf docker.tar.gz
修改docker默认的存储位置
sudo vim /etc/docker/daemon.json

{
“graph”: “/home/server/docker”
}
启动docker服务
sudo service docker start
启动所有docker容器
sudo docker start $(docker ps -a | awk ‘{ print $1}’ | tail -n +2)
查看修改后docker存储路径
docker info |grep ‘Docker Root Dir’
WARNING: No swap limit support
Docker Root Dir: /usr/docker

  • 5
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
修改Docker中的MySQL容器,可以按照以下步骤进行操作: 1. 停止并移除当前正在运行的MySQL容器。可以使用`docker stop`和`docker rm`命令完成这一步骤: ``` docker stop mysql_container_name docker rm mysql_container_name ``` 2. 拉取所需MySQL镜像。可以使用`docker pull`命令从Docker Hub上拉取最新的MySQL镜像: ``` docker pull mysql ``` 3. 创建并启动新的MySQL容器。可以使用`docker run`命令创建并启动一个新的MySQL容器,并指定所需的参数,如容器名称、端口映射、数据卷挂载和环境变量等: ``` docker run -d --name new_mysql_container -p host_port:container_port -e MYSQL_ROOT_PASSWORD=your_password -v /path/to/data:/var/lib/mysql mysql ``` 在上述命令中,`new_mysql_container`是新的容器名称,`host_port`是本地主机端口号,`container_port`是容器内部MySQL服务的端口号,`your_password`是MySQL root用户的密码,`/path/to/data`是用于存储MySQL数据的宿主机路径。 4. 连接到新的MySQL容器。可以使用MySQL客户端工具如`mysql`或`phpMyAdmin`等连接到新的MySQL容器,并使用指定的端口号和密码进行连接。 5. 修改MySQL配置。在连接到新的MySQL容器后,可以修改MySQL的配置文件以满足特定需求。配置文件通常位于容器内部的`/etc/mysql/my.cnf`路径下。 6. 重新启动MySQL容器。在修改配置文件后,需重新启动MySQL容器使新的配置生效: ``` docker restart new_mysql_container ``` 通过以上步骤,就可以成功修改Docker中MySQL容器配置。在修改完成后,可以继续使用MySQL客户端工具连接到新的容器进行数据库操作。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值