Docker客户端常用命令整理

之前在 https://blog.csdn.net/fengbingchun/article/details/109584460 中介绍过在Windows10家庭版和Ubuntu16.04上安装Docker的操作步骤,这里整理下Docker客户端常用命令。

在Windows10家庭版上运行Docker后,通过VMware就不能打开Ubuntu16.04虚拟机了,提示"VMware Workstation与Device/Credential Guard不兼容。在禁用Device/Credential Guard后,可以运行VMware Workstation",原因是Windows10开启Hyper-V后与VMware Workstation冲突导致无法运行和新建虚拟机,可通过以管理员身份打开PowerShell,然后输入命令"bcdedit /set hypervisorlaunchtype off",然后重启,此时VMware可正常运行了,不过在Windows10上的Docker就不能正常启动了,需在PowerShell中输入命令"bcdedit /set hypervisorlaunchtype auto",然后重启,Windows10上的Docker可正常运行。还有一种说法是将VMware更新到较高的版本。

Windows10上启动Docker:双击"Docker Desktop"图标,等待片刻,当鲸鱼图标静止时,Docker启动成功,之后打开PowerShell(Win+x后点击Windows PowerShell)使用Docker。
为了能在Docker Hub上拉取镜像,首先需要在https://hub.docker.com上免费注册一个账号。

每个命令的具体用法都可以通过--help来查看,如查看pull命令的详细用法,执行: $ docker pull --help

docker version # 输出Docker的版本信息
docker info # 显示一些相关的Docker系统信息
docker login # 登录Docker Hub,要求输入用户名和密码
docker logout # 退出Docker Hub
docker search ubuntu # 通过search命令查找Docker Hub中的镜像,如查找ubuntu,search命令并不支持查找TAG版本,可登录Docker Hub,搜索框中搜索ubuntu,然后再在Filter Tags中搜索指定的版本
docker pull ubuntu:16.04 # 从Docker Hub中获取镜像,若不给出用户名,则默认为library,为官方镜像,若拉取自己的镜像,则为docker pull fengbingchun/ubuntu:16.04
docker tag ubuntu:16.04 fengbingchun/ubuntu:v2.0 # 为一个镜像打标签,将其归入指定仓库,如将镜像"ubuntu:16.04"标记为"fengbingchun/ubuntu:v2.0"
docker images # 查看当前系统中已存在的镜像,列表包含了仓库名(REPOSITORY)、标签(TAG)、镜像ID(IMAGE ID)、创建时间(CREATED)、所占用空间(SIZE),此命令只会显示顶层镜像
docker image ls -a # 显示包括中间层镜像在内的所有镜像
docker image ls ubuntu # 根据仓库名列出镜像,如列出仓库名为ubuntu的所有镜像
docker image prune # 删除虚悬镜像(dangling image): 如果新旧镜像同名,旧镜像名称被取消,从而出现仓库名、标签均为<none>的镜像,一般来说,虚悬镜像已经失去了存在的价值,是可以随意删除的
docker image rm hello-world # 删除本地镜像,如删除镜像名为hello-world的镜像,除了使用镜像名(仓库名:标签)删除外,还可以使用镜像短ID、镜像长ID或镜像摘要(DIGEST)删除镜像
docker run fengbingchun/ubuntu:16.04 env # 查看指定镜像"fengbingchun/ubuntu:16.04"支持的环境变量
docker save -o ubuntu_v1.0.tar fengbingchun/ubuntu:v1.0 # 保存一个镜像到tar包,"ubuntu_v1.0.tar"为tar包名,"fengbingchun/ubuntu:v1.0"为本地镜像
docker load -i ubuntu_v1.0.tar # 从tar包加载一个镜像
docker push fengbingchun/ubuntu:16.04 # 将自己(用户名为fengbingchun)的镜像推送到Docker Hub
docker history ubuntu:16.04 # 查看镜像内的历史记录,如查看ubuntu:16.04
# 通过Dockerfile构建镜像,-t后面的"fengbingchun/ubuntu:16.04"为新建镜像的名称,最后的".",实际上是在指定上下文的目录,docker build命令会将该目录下的内容打包交给Docker引擎以帮助构建镜像
docker build -t fengbingchun/ubuntu:16.04 .
docker container ls -a # 查看容器的状态
docker container exec -it bcb8 bash # 进入容器,其中"bcb8"为容器ID(ID值能与其它容器ID区分开即可),只有当容器状态为Up时即容器运行时才有效
# 新建并启动一个容器,启动一个bash终端,允许用户进行交互,-t选项让Docker分配一个伪终端(pseudo-tty)并绑定到容器的标准输入上,-i则让容器的标准输入保持打开
docker run -it fengbingchun/ubuntu:16.04 /bin/bash
docker run fengbingchun/ubuntu:16.04 /bin/echo "hello" # 新建一个容器,并输出"hello"之后终止容器
docker container start bcb8 # 将一个已经终止的容器启动运行,其中"bcb8"为容器ID
docker container stop bcb8 # 将一个运行中的容器终止,其中"bcb8"为容器ID
docker export -o ubuntu.tar bcb8 # 导出容器,将导出容器快照到本地tar包,其中"bcb8"为容器ID
docker import ubuntu.tar fengbingchun/ubuntu:v1.1 # 导入tar包容器快照,从容器快照文件中再导入为镜像
docker container rm bcb8 # 删除一个处于终止状态的容器,其中"bcb8"为容器ID
docker container rm -f bcb8 # 删除一个运行中的容器,其中"bcb8"为容器ID
docker container prune # 删除掉所有处于终止状态的容器
docker diff bcb8 # 查看容器的存储层的具体的改动,其中"bcb8"为容器ID
docker commit bcb8 fengbingchun/ubuntu:v1.0 # 在原有镜像的基础上,再加上容器的存储层,并构成新的镜像,其中"bcb8"为容器ID,"fengbingchun/ubuntu:v1.0"为新建镜像的名称
docker inspect fengbingchun/ubuntu:v1.0 # 显示指定镜像的具体配置信息,"fengbingchun/ubuntu:v1.0"为镜像的名称
docker inspect bcb8 # 显示指定容器的具体配置信息,其中"bcb8"为容器ID
docker inspect --format '{{.NetworkSettings.IPAddress}}' bcb8 # 获取指定容器的IP地址,其中"bcb8"为容器ID,只有当容器状态为Up时即容器运行时才有效
docker cp 1.txt bcb8:/home/ # 将主机文件或目录拷贝到容器指定的目录下,其中"bcb8"为容器ID
docker cp bcb8:/home/1.txt . # 将容器指定目录或指定目录下的文件拷贝到主机当前目录下,其中"bcb8"为容器ID
docker logs -f bcb8 # 获取指定容器的日志,其中"bcb8"为容器ID
docker rename yyyy xxxx # 重命名一个容器,其中"yyyy"为原容器名,"xxxx"为新容器名
docker top bcb8 # 查看正在运行中的容器的进程信息,其中"bcb8"为容器ID
docker system df # 查看镜像、容器、数据卷所占用的空间

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值