docker常见基本操作命令

介绍

      docker命令有很多,但主要针对的还是镜像、容器和仓库三大概念。

命令

docker

说明:docker命令列表
命令:docker
tip:docker命令非常多,结合每个命令的操作符可以衍生出很多命令。这里只列举出常见命令的基本用法,至于每个命令具体的操作符或者是其他命令请到网络上查阅使用说明。
-----------------------------------------------------
说明:docker配置信息
命令:docker info
-----------------------------------------------------
说明1:docker版本
命令1:docker -v
说明2:docker客户端和服务端版本
命令2:docker version

镜像

说明:查看本地镜像列表
命令1:docker images
命令2:docker image ls
-----------------------------------------------------
说明:在docker官方hub仓库中查找镜像
命令:docker search 镜像
举例:docker search ubuntu
tip:偶尔可能会出现网络慢或超时的情况,因为仓库地址是设在国外的。如果是频繁出现网络慢或超时的现象,需要配置国内镜像加速。
-----------------------------------------------------
说明:拉取镜像
命令:docker pull 镜像
举例:docker pull ubuntu
tip:偶尔可能会出现网络慢或超时的情况,因为仓库地址是设在国外的。如果是频繁出现网络慢或超时的现象,需要配置国内镜像加速。
-----------------------------------------------------
说明:删除镜像
命令:docker rmi 镜像id(或镜像名)
举例:docker rmi imageID(imageName)
-----------------------------------------------------
说明:上传镜像
命令:docker push 镜像
举例:docker push ubuntu:v1
tip:需要先登录到某个镜像仓库,才可以将镜像上传到该仓库中。
-----------------------------------------------------
说明:给镜像打tag
命令:docker tag 源镜像 目标镜像
举例:docker tag ubuntu:v1 ken/ubuntu:v1
tip:实际上就是给同一个镜像起了一个新名字而已,从下图中可以看到镜像ID等信息都是一样的。这种情况下要删除镜像有两种方式:1、根据镜像名一个一个删除;2、根据镜像ID批量删除,但由于需要一次性删除多个镜像,故需要加上操作符-f 表示强制删除,命令为:docker rmi -f imageID
在这里插入图片描述
-----------------------------------------------------
说明:将镜像导出到本地
命令:docker save 镜像名>名字.tar
举例:docker save imageName>xxx.tar
tip:将镜像导出成tar压缩文件【因为镜像实际上就是一个文件系统,由目录和文件组成,因此需要打成压缩包】,导出的压缩包名字随意,路径可自行选择,举例中是输出到当前目录。
-----------------------------------------------------
说明:将本地镜像压缩包导入到docker环境
命令:docker load<名字.tar
举例:docker load<xxx.tar
-----------------------------------------------------
说明:构建一个全新的镜像
命令:docker build -t 镜像名 上下文路径
举例:docker build -t Ken/ubuntu:v1 .
tip:当已有的镜像无法满足我们的需求时,我们可以考虑自己构建一个全新的镜像,详细看这里:

容器

说明:创建并启动容器
命令:docker run -i -t -d - -name 容器名 镜像名 命令
举例:docker run -i -t -d ubuntu:v1 /bin/bash
tip:-i 表示以交互式方式进入容器;-t 表示进入容器终端;-d 表示容器作为后台进程运行;- -name表示指定容器名【以上操作符均可省略】;镜像名表示所要运行的镜像;命令表示创建并启动容器后在容器中执行的命令【/bin/bash为打开命令行,可省略】,当容器中的进程全部执行结束时,容器本身也会停止。 docker run命令有很多个参数,可以根据docker run - -help查看。
-----------------------------------------------------
说明:启动容器
命令:docker start 容器ID(容器名)
举例:docker start containerID(containerName)
tip:由于容器ID和容器名都是唯一的,所以在需要指定具体容器的时候可以使用容器ID,也可以使用容器名。
-----------------------------------------------------
说明:停止容器
命令:docker stop 容器ID(容器名)
举例:docker stop containerID(containerName)
-----------------------------------------------------
说明:重启容器
命令:docker restart 容器ID(容器名)
举例:docker restart containerID(containerName)
-----------------------------------------------------
说明:删除容器
命令:docker rm 容器ID(容器名)
举例:docker rm containerID(containerName)
-----------------------------------------------------
说明:暂停容器中所有的进程(挂起)
命令:docker pause 容器ID(容器名)
举例:docker pause containerID(containerName)
-----------------------------------------------------
说明:使容器中的进程从暂停状态恢复,继续执行业务(恢复)
命令:docker unpause 容器ID(容器名)
举例:docker unpause containerID(containerName)
-----------------------------------------------------
说明:修改容器名
命令:docker rename 容器ID(旧容器名) 新容器名
举例:docker rename containerID(oldContainerName) newContainerName
-----------------------------------------------------
说明1:查看运行在后台的容器进程列表
命令1:docker ps
说明2:查看运行在后台的或停止的容器列表
命令2:docker ps -a
-----------------------------------------------------
说明:查看容器中的进程列表
命令:docker top 容器ID(容器名)
举例:docker top containerID(containerName)
-----------------------------------------------------
说明:进入到容器终端
命令1:docker attach 容器ID(容器名)
举例1:docker attach containerID(containerName)
tip1:进入到容器终端,实际上就相当于进入到了镜像操作系统中。但有一个前提,就是容器必须处于运行状态。通过exit可以退出容器终端并停止容器的运行。
命令2:docker exec -it 容器ID(容器名) 命令
举例2:docker exec -it containerID(containerName) /bin/bash
tip2:进入到容器终端,实际上就相当于进入到了镜像操作系统中。但有一个前提,就是容器必须处于运行状态。通过exit可以退出容器终端,但不会停止容器的运行。-it相当于-i -t,同上面docker run命令的操作符。
-----------------------------------------------------
说明:查看容器的详细信息
命令:docker inspect 容器ID(容器名)
举例:docker inspect containerID(containerName)
tip:以json的方式展示容器详细信息。
-----------------------------------------------------
说明:查看容器的日志
命令:docker logs -f -t 容器ID(容器名)
举例:docker logs -f -t containerID(containerName)
tip:-f 表示实时更新日志;-t 表示显示时间戳;–tail=n表示显示日志的末尾n行。
-----------------------------------------------------
说明:查看容器中的端口映射情况
命令:docker port 容器ID(容器名)
举例:docker port containerID(containerName)
tip:在容器中部署web应用并挂载某个端口运行,该端口将映射到本机(宿主机)的某个端口上,我们通过ip:端口即可访问。在使用docker run 命令运行指定镜像创建并启动容器的时候,如果加上了-P(大写字母)则容器中使用的网络端口将随机映射到本机上,如果加上的是-p(小写字母),则需要在后面指定 本机端口:容器端口,表示在容器中使用的是指定的 容器端口,并将映射到本机的指定的 本机端口。举个例子:如果执行命令docker run -d -p 8080:80 training/webapp python app.py,那么py程序将会挂在端口80处运行,这时候80端口运行的py程序将映射到本机端口8080处,通过使用本机ip:8080即可访问到py程序。
-----------------------------------------------------
说明:将容器快照导出到本地
命令:docker export 容器ID(容器名) > 文件名.tar
举例:docker export containerID(containerName) > fileName.tar
tip:将当时的容器(也就是快照)导出到指定目录下的fileName.tar文件中(不存在则自动创建),由于容器相当于一个root文件系统,里面包含了若干个目录和文件,因此需要用压缩文件的格式保存。
-----------------------------------------------------
说明:将容器快照导入到docker环境中
命令1:cat 文件名.tar | docker import - 镜像名
举例1:cat fileName.tar | docker import - imageName
tip1:从本地导入。
命令2:docker import url
举例2:docker import http://example.com/exampleimage.tgz example/imagerepo
tip2:从远端导入。
-----------------------------------------------------
说明:将容器快照提交为一个新的镜像
命令:docker commit -m=“提交描述信息” -a="作者名字“ 容器ID(容器名) 镜像名
举例:docker commit -m=“commit message” -a=“author” containerID(containerName) imageName
tip:将当时的容器(也就是快照)保存为一个新的镜像。在对容器中的文件结构做修改的时候都会被记录到容器的存储层中,使用docker commit命令将容器提交为一个镜像,实际上是将容器原本的镜像以及容器存储层一起打包成一个镜像,这时候这个镜像就保留了容器的最后状态。
-----------------------------------------------------
说明:查看容器的文件结构修改
命令:docker diff 容器ID(容器名)
举例:docker diff containerID(containerName)
tip:查看容器中的文件或目录的修改。A表示增加一个文件或目录;C表示文件或目录被修改。
在这里插入图片描述

仓库

说明:登陆到镜像仓库
命令:docker login 仓库地址
举例:docker login hub.docker.com
tip:需要先到hub.docker.com网站上注册一个账号,然后才可以使用命令登陆。仓库地址可以是用户个人私有仓库的地址,也可以是docker官方hub仓库的地址(即hub.docker.com)。当没有填写仓库地址时,默认访问的是docker官方的hub仓库地址(即hub.docker.com)。
-----------------------------------------------------
说明:从镜像仓库登出
命令:docker logout

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值