Modificar inicio automático del contenedor Docker / inicio no automático, ruta de montaje, ubicación de almacenamiento

A veces, olvidamos agregar parámetros --restart=always al crear el contenedor  . Cuando Docker se reinicia, el contenedor no se inicia automáticamente.

Ahora, qué hacer si desea agregar este parámetro, hay dos métodos:

1. Modificación del comando Docker

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

我实际运行时,可以支持同时配置多个容器id,比如(其中container关键字可以忽略不写)

docker update 87cd61ad7f7c f488b0479f24 2109903220ce 1fb346ea1a46 --restart=no

2. Cambie el archivo de configuración directamente

Primero detenga el contenedor, de lo contrario no podrá modificar el archivo de configuración

La ruta del archivo de configuración es:/var/lib/docker/containers/容器ID

Encuentre un archivo en el directorio  hostconfig.json , busque la palabra clave en el archivo RestartPolicy

Configuración antes de la modificación:"RestartPolicy":{"Name":"no","MaximumRetryCount":0}

Configuración modificada:"RestartPolicy":{"Name":"always","MaximumRetryCount":0}

Finalmente, comienza el contenedor.

 

Modificar la ruta de montaje del contenedor acoplable


 

  • Detener todos los contenedores acoplables
    sudo docker stop $(docker ps -a | awk '{ print $1}' | tail -n +2)
  • Detener el servicio de acoplador
    sudo service docker stop
  • Modificar ruta mysql
    cd ~
    sudo cp -r mysql/ /home/server/
  • Copia de seguridad de los archivos de configuración del contenedor
    cd /var/lib/docker/containers/de9c6501cdd3
    cp hostconfig.json hostconfig.json.bak
    cp config.v2.json config.v2.json.bak
  • Modifique la ruta de configuración antes de los dos puntos de 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"],
  • Modificar la ruta de configuración de origen de config

    Código de copia

    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"
    
                  }
    
           },

    Código de copia

  • Iniciar el servicio de acoplador
     sudo service docker start
  • Iniciar todos los contenedores acoplables
    sudo docker start $(docker ps -a | awk '{ print $1}' | tail -n +2)

     

Modificar la ubicación de almacenamiento predeterminada de la ventana acoplable


 

La ubicación de almacenamiento de todas las imágenes y la información relacionada de Docker es: / var / lib / docker

  • Ver la ruta de almacenamiento de la ventana acoplable predeterminada
    docker info |grep 'Docker Root Dir'
    WARNING: No swap limit support
    Docker Root Dir: /var/lib/docker
  • Detener todos los contenedores acoplables
    sudo docker stop $(docker ps -a | awk '{ print $1}' | tail -n +2)
  • Detener el servicio de acoplador
    sudo service docker stop
    cd /var/lib
  • Directorio de acopladores de paquetes
    sudo tar -czvf /usr/docker.tar.gz docker/
    cd /usr/
    sudo tar -xzvf docker.tar.gz
  • Modificar la ubicación de almacenamiento predeterminada de la ventana acoplable
    sudo vim /etc/docker/daemon.json
    
    {
        "graph": "/home/server/docker"
    }
  • Iniciar el servicio de acoplador
    sudo service docker start
  • Iniciar todos los contenedores acoplables
    sudo docker start $(docker ps -a | awk '{ print $1}' | tail -n +2)
  • Ver la ruta de almacenamiento de Docker modificada
    docker info |grep 'Docker Root Dir'
    WARNING: No swap limit support
    Docker Root Dir: /usr/docker
Publicado 69 artículos originales · Me gusta 72 · Visita 240,000+

Supongo que te gusta

Origin blog.csdn.net/londa/article/details/97611947
Recomendado
Clasificación