Docker 常用命令收录 -- 持续更新

Docker 常用命令收录

容器操作

docker build -t friendlyname .  # 使用当前目录下的内容创建Dockerfile镜像文件
docker run -p 4000:80 friendlyname  # 运行名为“friendlyname”的镜像,并设置端口映射
docker run -d -p 4000:80 friendlyname         # 后台运行容器
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  # 给镜像打标签
docker push username/repository:tag            # 上传镜像到笔者个人仓库
docker run username/repository:tag                   # 运行指定镜像的指定版本

服务相关

docker stack ls                                            # 列出应用程序
docker stack deploy -c <composefile> <appname>  # 运行制动的composefile
docker service ls                 # 列出与应用关联的正在运行的服务
docker service ps <service>                  # 列出与应用程序关联的任务
docker inspect <task or container>                   # 检查任务或容器状态
docker container ls -q                                      # 列出容器ID
docker stack rm <appname>                             # 删除一个应用程序
docker swarm leave --force      # 用swam管理下掉集群的一个节点

Swarms操作

docker-machine create --driver virtualbox myvm1 # 在(Mac, Win7, Linux)创建一个VM
docker-machine create -d hyperv --hyperv-virtual-switch "myswitch" myvm1 # Win10
docker-machine env myvm1                # 查看有关节点的基本信息
docker-machine ssh myvm1 "docker node ls"         # 列出swarm群中的节点
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"  # 使worker脱离swarm
docker-machine ssh myvm1 "docker swarm leave -f" # 使master脱离swarm并杀掉swarm
docker-machine ls # 列出虚拟机,星号显示这个shell正在与哪个虚拟机通话
docker-machine start myvm1            # 启动一个当前没有运行的虚拟机
docker-machine env myvm1      # 显示myvm1的环境变量和命令
eval $(docker-machine env myvm1)         # Mac命令将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>  # 部署一个应用程序;命令shell必须设置为与管理器(myvm1)通信,使用本地Compose文件
docker-machine scp docker-compose.yml myvm1:~ # 将文件复制到节点的主目录(只有在使用ssh连接到管理器并部署应用程序时才需要
docker-machine ssh myvm1 "docker stack deploy -c <file> <app>"   # 使用ssh部署应用程序(您必须首先将撰写文件复制到myvm1)
eval $(docker-machine env -u)     # 断开与虚拟机的shell,使用本地docker
docker-machine stop $(docker-machine ls -q)               # 停止所有运行的VM
docker-machine rm $(docker-machine ls -q) # 删除所有虚拟机及其磁盘映像

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏C/C++基础

service: no such service mysqld 与MySQL的开启,关闭和重启

因为修改了MySQL临时文件的目录后,使用service mysqld restart重启MySQL出现如下错误:

884
来自专栏WindCoder

如何修复Ubuntu 14.04 系统设置丢失的问题

其实遇到这个问题的一个最主要的原因是之前执行过卸载ibus输入法的操作,所以为了避免这个问题请不要卸载ibus输入法,大家依然可以安装fcitx输入法使用。

492
来自专栏张戈的专栏

给已安装的Linux新增Swap交换分区

跟了我 5 年多的本本已步入花甲,CPU 严重老化,运行 Windows 异常吃力,于是考虑换成 Linux 试试。忙活了一天,测试了 2 个“家用”Linux...

5026
来自专栏云计算教程系列

如何在服务器上安装Webmin

Webmin是目前功能最强大的基于Web的Unix系统管理工具。管理员通过浏览器访问Webmin的各种管理功能并完成相应的管理动作。目前Webmin支持绝大多数...

1271
来自专栏Java后端技术

Centos7下Java开发基本环境搭建

下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133...

934
来自专栏小夜博客

Linux使用sftp传输文件

43612
来自专栏运维小白

Linux基础(day40)

11.6 MariaDB安装 安装mariadb cd /usr/local/src wget https://downloads.mariadb.com/Ma...

2396
来自专栏Ken的杂谈

【系统设置】CentOS 修改机器名

643
来自专栏云计算教程系列

如何在Ubuntu上创建Sudo用户[快速入门]

该sudo命令提供了一种机制,用于向普通用户授予通常仅对root用户可用的管理员权限。本指南将向您展示在Ubuntu上创建具有sudo访问权限的新用户的最简单方...

540
来自专栏Python中文社区

Linux进程监控工具Supervisor简易使用教程

專 欄 ❈ gw1770df,Python中文社区专栏作者,从事Python开发工作,全栈工程师。 博客: https://word.gw1770df.cc ...

2726

扫码关注云+社区