美文网首页
Docker容器的重命名和自动重启

Docker容器的重命名和自动重启

作者: houxin | 来源:发表于2020-08-10 10:02 被阅读0次

    一、docker的容器的名称

    1. 重命名
      创建容器的时候,没有执行名字的话,默认是随机生成的名字。如果想对它进行重命名的话,可以使用下列语法:
      docker rename [旧容器名] [新容器名]
      
      实例如下:
      [root@localhost ~]# docker ps
      CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                NAMES
      9e003c5ce2e9        centos:httpd        "/bin/sh -c /usr/l..."   28 minutes ago      Up 28 minutes       0.0.0.0:80->80/tcp   thirsty_kalam
      [root@localhost ~]# docker rename thirsty_kalam centos-httpd
      [root@localhost ~]# docker ps
      CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                NAMES
      9e003c5ce2e9        centos:httpd        "/bin/sh -c /usr/l..."   32 minutes ago      Up 32 minutes       0.0.0.0:80->80/tcp   centos-httpd
      
      可以看到,原本名字为thirsty_kalam的容器,被改成了centos-httpd
    2. 容器命名
      如果在创建的时候,想给容器命名的话,可以使用下列语法:
      docker run -d --name [容器名称] centos:httpd /bin/bash
      
      实例如下:
      [root@localhost ~]# docker run -d --name mycentos centos:httpd /bin/bash
      572ae047517b1d08660d368b2884f542f20f56804cd3aa4b73e735fdffa35110
      [root@localhost ~]# docker ps -a
      CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                      PORTS                NAMES
      572ae047517b        centos:httpd        "/bin/bash"              31 seconds ago      Exited (0) 30 seconds ago                        mycentos
      9e003c5ce2e9        centos:httpd        "/bin/sh -c /usr/l..."   37 minutes ago      Up 37 minutes               0.0.0.0:80->80/tcp   centos-httpd
      
      可以看到,名称为mycentos的容器已经创建成功。
    3. 设定容器的主机名
      使用-h设定,语法如下:
      docker run -it -h [主机名] centos:httpd /bin/bash
      
      实例如下:
      [root@localhost ~]# docker run -it -h centos-host centos:httpd /bin/bash
      [root@centos-host /]# 
      
      可以看到创建的成功的容器,主机名已经由随机的名称,变成我们自定义的centos-host了。

    二、设定容器自动重启

    设定容器的开机自动启动的语法如下:

    docker run --restart=always -itd centos:httpd /bin/bash
    

    创建的时候,添加--restart参数。
    docker的重启策略有以下几种:

    no:默认策略,在容器退出时丌重启容器
    on-failure:在容器非正常退出时(退出状态非 0),才会重启容器
    on-failure:3:在容器非正常退出时重启容器,最多重启 3 次 failure失败
    always:在容器退出时总是重启容器
    unless-stopped:在容器退出时总是重启容器,但是丌考虑在 Docker 守护迚程启劢时就已经停止了的容器。

    实例如下:

    [root@localhost ~]# docker run --restart=always -itd centos:httpd bash
    461c2c475f1e443e531c0a9552704c76eeb1015f7d5bd454a285d60718c8bd2f
    [root@localhost ~]# docker ps
    CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
    461c2c475f1e        centos:httpd        "bash"              9 seconds ago       Up 9 seconds                            condescending_hodgkin
    [root@localhost ~]# systemctl restart docker
    [root@localhost ~]# docker ps
    CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
    461c2c475f1e        centos:httpd        "bash"              34 seconds ago      Up 3 seconds                            condescending_hodgkin
    

    在docker服务重启后,容器依然重启成功。

    如果创建时未指定--restart=always,可通过 update 命令设置
    语法:

    docker update --restart=always [容器ID或名字] 
    

    相关文章

      网友评论

          本文标题:Docker容器的重命名和自动重启

          本文链接:https://www.haomeiwen.com/subject/tsacdktx.html