修改Docker容器启动配置参数

举报
justzeng 发表于 2019/01/19 17:38:06 2019/01/19
【摘要】 有时候,我们创建容器时忘了添加参数 --restart=always ,当 Docker 重启时,容器未能自动启动, 现在要添加该参数怎么办呢,方法有二: 1、Docker 命令修改 docker container update --restart=always 容器名字 2、直接改配置文件 首先停止容器,不然无法修改配置文件 配置文件路径为:/var/...

有时候,我们创建容器时忘了添加参数 --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


【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。