加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

重新启动Docker容器“记住”初始运行参数吗?

发布时间:2020-12-16 03:37:35 所属栏目:安全 来源:网络整理
导读:我使用非常(8行)长的参数列表运行了一个Docker容器: docker run -d -p 5000:5000 --restart=always --name registry -v `pwd`/auth:/auth -e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" -e REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd -v `pw

我使用非常(8行)长的参数列表运行了一个Docker容器:

docker run -d -p 5000:5000 --restart=always --name registry 
    -v `pwd`/auth:/auth 
    -e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" 
    -e REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd 
    -v `pwd`/certs:/certs 
    -e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/registry.crt 
    -e REGISTRY_HTTP_TLS_KEY=/certs/registry.key 
    registry:2

我确认这是通过docker ps运行的:

CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES
ff9c654bfc39        registry:2          "/bin/registry /etc/d"   2 days ago          Up 13 minutes       0.0.0.0:5000->5000/tcp   registry

然后我通过docker stop ff9c654bfc39停止了这个容器.然后,我尝试通过发出与第一次完全相同的docker run …(8班轮)来重新运行容器:

Error response from daemon: Conflict. The name "registry" is already in use by container ff9c654bfc39. You have to delete (or rename) that container to be able to reuse that name.

所以那时我只是尝试了docker restart ff9c654bfc39,这似乎有效,但我不是百分之百确定Docker“记得”我最初运行容器时的8行参数.关于它是否记忆的任何想法?如果没有,那么包含那8行的正确重启命令是什么?

最佳答案
正如@gabowsky在评论中解释的那样,是的,Docker会记得.

使用start,stop和restart不会破坏容器,因此记住所有内容,包括数据(甚至在重新启动主机之间).
什么停止是停止在容器内运行的进程.就这样.

此外,Docker以内部格式存储所有上下文,变量等.您不必再次指定命令行参数.
要查看Docker对容器的了解,可以运行docker inspect.

相反,rm会破坏所有内容,包括没有持久化数据,并且需要再次重新创建容器(这次再次给出参数).

最后要注意的是,在命令行中引用容器时,应该使用名称而不是SHA1

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读