docker 命令列表总结(参考官方)

举报
一颗小树x 发表于 2020/12/03 00:48:07 2020/12/03
【摘要】 以下命令总结,参考官网文档:https://docs.docker.com/get-started/ 目录 1)入门 2)docker 容器 3)服务 4)群    1)入门 ##列出Docker CLI命令docker docker container --help ##显示Docker版本和信息docker --version docker v...

以下命令总结,参考官网文档:https://docs.docker.com/get-started/

目录

1)入门

2)docker 容器

3)服务

4)群 


 

1)入门

##列出Docker CLI命令
docker
docker container --help

##显示Docker版本和信息
docker --version
docker version
docker info

##执行Docker镜像
docker run hello-world

##列出Docker镜像
docker image ls


##列出Docker容器(运行,全部,全部处于安静模式)
docker container ls
docker container ls --all
docker container ls -aq
 

 

2)docker 容器

 使用Docker方式构建应用程序了。我们从这个应用程序层次结构的底部开始,这个页面包含一个容器。高于此级别的是一项服务,它定义了容器在生产中的行为方式。

docker build -t friendlyhello。                  #使用此目录的Dockerfile创建映像

docker run -p 4000:80 friendlyhello      #运行“friendlyhello”映射端口4000到80

docker run -d -p 4000:80 friendlyhello  #相同的东西,但处于分离模式

docker container ls                                  #列出所有正在运行的容器

docker container ls -a                             #列出所有容器,即使是那些没有运行的容器


docker container stop <hash>               #优雅地停止指定的容器

docker container kill <hash>                  #强制关闭指定的容器

docker container rm <hash>                 #从此计算机中删除指定的容器

docker container rm $(docker container ls -a -q)#删除所有容器

docker image ls -a                                #列出本机上的所有图像

docker image rm <image id>               #从本机删除指定的图像

docker image rm $(docker image ls -a -q)#从本机删除所有图像


docker login                                                            #使用Docker凭据登录此CLI会话

docker tag <image> username / repository:tag   #Tag <image>,用于上传到注册表

docker push username / repository:tag               #将标记的图像上传到注册表

docker run username / repository:tag                  #从注册表运行图像

 

 

3)服务

    回顾一下,虽然键入docker run 简单,但生产中容器的真正实现是将其作为服务运行。服务在Compose文件中编码容器的行为,此文件可用于扩展,限制和重新部署我们的应用程序。服务的更改可以在运行时使用启动服务的相同命令来应用: docker stack deploy

在此阶段要探索的一些命令:

docker stack ls                                                               #列出堆栈或应用程序

docker stack deploy -c <composefile> <appname>      #运行指定的Compose文件

docker service ls                                                           #列出与应用程序关联的运行服务

docker service ps <service>                                         #列出与应用程序关联的任务

docker inspect <task or container>                                #Inspect任务或容器

docker container ls -q                                                    #列出容器ID

docker stack rm <appname>                                        #删除应用程序

docker swarm leave --force                                          #从管理器中删除单个节点群

 

4)群 

 将此应用程序部署到群集上,在多台计算机上运行它。多容器,多机应用程序通过连接多台机器到称为一个“Dockerized”簇成为可能。设置一个swarm,它是一个运行Docker的机器集群,并为其部署了一个应用程序,其中容器在多台机器上协同运行。

 

了解Swarm集群

  群集是一组运行Docker并加入群集的计算机。在此之后,您继续运行您习惯使用的Docker命令,但现在它们由群集管理器在群集上执行。群中的机器可以是物理的或虚拟的。加入群组后,它们被称为节点

  Swarm管理器可以使用多种策略来运行容器,例如“最节点的节点” - 它使用容器填充利用率最低的机器。或“全局”,它确保每台机器只获得指定容器的一个实例。您指示swarm管理器在Compose文件中使用这些策略,就像您已经使用的那样。

   群集管理器是群中唯一可以执行命令的机器,或授权其他机器作为工作者加入群集。工人只是在那里提供能力,没有权力告诉任何其他机器它能做什么和不能做什么。

  到目前为止,您一直在本地计算机上以单主机模式使用Docker。但Docker也可以切换到swarm模式,这就是使用群集的原因。立即启用群集模式使当前计算机成为群集管理器。从那时起,Docker就会运行您在管理的swarm上执行的命令,而不仅仅是在当前机器上。

docker-machine create --driver virtualbox myvm1                         #创建一个VM(Mac,Win7,Linux)

docker-machine create -d hyperv --hyperv-virtual-switch“myswitch”myvm1#Win10

docker-machine env myvm1                                                          #查看有关节点的基本信息

docker-machine ssh myvm1“docker node ls”                                #列出你群中的节点

docker-machine ssh myvm1“docker node inspect <node ID>”      #检查节点

docker-machine ssh myvm1“docker swarm join-token -q worker” #查看连接令牌


docker-machine ssh myvm1                                                        #打开与VM的SSH会话;输入“exit”结束

docker node ls                                                                             #查看swarm中的节点(登录管理器时)

docker-machine ssh myvm2“docker swarm leave”                      #让工人离开群

docker-machine ssh myvm1“docker swarm leave -f”                    #Master master,kill swarm

docker-machine ls                                                                         #list VMs,asterisk显示此shell正在与之通信的VM


docker-machine start myvm1                                                      #启动当前未运行的虚拟机

docker-machine env myvm1                                                       #show myvm1的环境变量和命令

eval $(docker-machine env myvm1)           #Max命令将shell连接到myvm1&“C:\ Program Files \ Docker \ Docker \ Resources \ bin \ docker-machine.exe”env myvm1 | Invoke-Expression #Windows命令将shell连接到myvm1
 

docker stack deploy -c <file> <app>                                        #deploy app;命令shell必须设置为与管理器(myvm1)通信,使用本地Compose文件

docker-machine scp docker-compose.yml myvm1:〜#将文件复制到node的home目录(仅当你使用ssh连接到manager并部署应用程序时才需要)

docker-machine ssh myvm1“docker stack deploy -c <file> <app>”#使用ssh部署应用程序(必须先将Compose文件复制到myvm1)


eval $(docker-machine env -u)                                          #从VM断开shell,使用本机docker

docker-machine stop $(docker-machine ls -q)                 #停止所有正在运行的VM

docker-machine rm $(docker-machine ls -q)                    #删除所有虚拟机及其磁盘映像

 

 

希望对你有帮助。

 

 

 

文章来源: guo-pu.blog.csdn.net,作者:一颗小树x,版权归原作者所有,如需转载,请联系作者。

原文链接:guo-pu.blog.csdn.net/article/details/97615616

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

评论(0

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

全部回复

上滑加载中

设置昵称

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

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

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