Docker-实战篇-常用命令

原创
2019/04/19 11:37
阅读数 21

镜像类命令

1、搜索镜像docker search2、列出镜像列表docker imagesdocker image ls3、查看镜像myimages:latest信息(检查镜像信息很重要)docker inspect myimages:latest4、通过Dockerfile构建镜像myimages:latestdocker build -f Dockerfile -t myimages:latest .5、重新为镜像打标签docker tag myimages:latest myregistry/myimages:latest6、推送镜像docker push myregistry/myimages:latest7、拉取镜像docker pull myregistry/myimages:latest8、删除镜像(有容器运行该镜像时,不能删除)docker rmi myregistry/myimages:latest9、强制删除本地镜像docker rmi -f myregistry/myimages:latest


容器类命令

1、通过镜像 myimages:latest创建容器docker container create image myimages:latest2、列出运行中的容器docker container ps3、列出所有容器docker container ls -a4、启动容器docker container start containerId5、创建并启动容器(tty方式运行)docker container run --name -t mycontainer myimage:latest-t 表示tty方式运行,调试时很有用-d 表示后台运行6、进入容器(调试很有用)docker container exec -it containerId /bin/bashdocker container attach containerId (笔者一般不用这种方式)7、停止容器docker container stop containerId8、删除容器docker container rm containerId9、查看容器信息(检查容器运行很有用)docker container inspect containerId10、查看容器日志docker container logs -f containerId说明:以上命令均可以简化为:docker lsdocker rundocker execdocker stopdocker rmdocker inspectdocker logs


数据管理类命令

1、创建数据卷docker volume create my-vol2、列出数据卷docker volume ls3、查看数据卷信息docker volume inspect my-vol4、删除数据卷docker volume rm my-vol


 

网络驱动类命令

1创建网络驱动

docker network create -d bridge my-net-d birdge: 桥接模式-d overlay:覆盖模式-d host:主机模式1、列出网络驱动docker network ls2、查看网络驱动信息docker network inspect my-net3、删除网络驱动docker network rm my-net


compose类命令

1、构建并运行容器docker-compose -f docker-compose.yum up -d-d:后台方式运行2、查看运行列表docker-compose ps3、停止容器docker-compose -f docker-compose.yml stop4、完全删除容器docker-compose -f docker-compose.yml down5、粗略浏览一下下面命令docker-compose configdocker-compose createdocker-compose execdocker-compose killdocker-compose logsdocker-compose portdocker-compose psdocker-compose pulldocker-compose pushdocker-compose rmdocker-compose rundocker-compose restartdocker-compose startdocker-compose stop


swarm类命令

1、创建swarm集群docker swarm init哪个节点执行该命令哪个节点就是管理者+工作者角色,通过join加入的均为工作者2、查看工作者加入命令docker swarm join-token worker会输出工作者加入集群的命令是什么1、通过上面命令加入集群docker swarm join --token xxxxxx这个命令可以直接复制上面命令2、查看管理者加入命令docker swarm join-token manager管理者高可用时可以使用该命令3、列出集群节点docker node ls这里你可以看到谁是leader4、查看swarm当前状态docker info5、查看单个节点信息docker node inspect nodeIdnodeId通过docker node ls获取6、更改节点可用性docker node update --availability drain node-host-namenode-host-name可以通过docker node ls获取,可用性状态说明:Active 表示调度程序可以将任务分配给节点。Pause 表示调度程序不会将新任务分配给节点,但现有任务仍在运行。Drain表示调度程序不会将新任务分配给节点。调度程序关闭所有现有任务并在可用节点上调度它们7、更改节点角色//提升node-host-name为管理者(提升)+工作者(默认)docker node promete node-host-name//降级node-host-name为工作者docker node demote node-host-name//上面node-host-name可以通过docker node ls获取//上面命令均需要在管理节点执行,另外可以用下面命令替换docker node update --role manager node-host-namedocker node update --role worker node-host-name8、退出集群//在对应节点上执行docker swarm leave//在管理者节点上执行,集群列表删除该节点docker node rm node-host-name9、将服务部署到集群docker service create --name mysrv --replicas 5 myimages:latest//通过myimages镜像运行服务mysrc,启动5个实例10、列出服务列表docker service ls11、更新服务配置信息docker service update --replicas 3 --image myimages:v1 mysrv//更新mysrv服务改为实例为3,镜像为myimages:v1,除此之外可以通过update方式更新网络驱动、端口绑定、数据绑定等12、删除服务docker service remove mysrv


docker命令远远不止于这些,以上只是常用的命令


本文分享自微信公众号 - Java软件编程之家(gh_b3a87885f8f5)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部