docker工作常用命令

  • Post author:
  • Post category:其他


可以说docker的命令基本就是融合了linux和git的常用命令,所以不必花很多时间,基本使用过几次就能记住了。下面也只介绍工作中常用的,详细还请参考官网

1.系统命令

查看docker版本

docker version

查看docker信息

docker info

docker命令查询,这个非常有用,当你不记得某个命令就可以用它来查看

docker --help

2.镜像命令

因为镜像是一个只读状态的,所以对于只读状态的东西命令都是很少

1.列出本地主机上的全部镜像

docker images [OPTIONS]

OPTIONS说明:

-a :列出本地所有的镜像(含中间映像层)

-q :只显示镜像ID。

--digests :显示镜像的摘要信息

--no-trunc :显示完整的镜像信息

查询结果解析

REPOSITORY:表示镜像的仓库源TAG:镜像的标签IMAGE ID:镜像IDCREATED:镜像创建时间SIZE:镜像大小

同一仓库源可以有多个 TAG,代表这个仓库源的不同个版本,我们使用 REPOSITORY:TAG 来定义不同的镜像。

2.查询仓库某个镜像名字

docker search xxx

docker search mysql

3.下载镜像

docker pull xxx

是不是很像git拉去代码啊,是的基本一致拉去镜像,下面我们拉去一个mysql镜像

docker pull mysql
后面没有带参数就是拉去最新版本
docker pull mysql:5.7
拉取5.7版本的mysql

4.删除镜像

docker rmi 某个XXX镜像名字ID

删除单个   docker rmi  -f 镜像ID

删除多个   docker rmi -f 镜像名1:TAG 镜像名2:TAG

删除全部   docker rmi -f $(docker images -qa)            $(docker images -qa)查询出当前本机所有镜像的ID

5.从容器创建一个镜像

docker commit 这里和git有点区别,git里面是将代码提交到工作区,而这里是我在当前容器里面增删了东西,我想把我增删东西的容器重新制作成功一个镜像

docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
OPTIONS说明:
-a :提交的镜像作者;
-c :使用Dockerfile指令来创建镜像;
-m :提交时的说明文字;
-p :在commit时,将容器暂停。

比如我们在centos容器里面增加一些内容,然后重新打包成新的镜像

我们在centos里面的/opt目录下增加另一个asd.sh打印hello world

然后我们退出容器进行打包成新的镜像

6.推送一个镜像到远端仓库

docker push将本地的镜像上传到镜像仓库,要先登陆到镜像仓库

docker push [OPTIONS] NAME[:TAG]

OPTIONS说明:
--disable-content-trust :忽略镜像的校验,默认开启

3.容器命令


有镜像才能创建容器(有模板才能印刷)

docker pull centos 先拉取centos镜像

1.新建并启动容器(运行就是新建容器)

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

 OPTIONS说明(常用):有些是一个减号,有些是两个减号
--name=""容器新名字"": 为容器指定一个名称;
-d: 后台运行容器,并返回容器ID,也即启动守护式容器;
-i:以交互模式运行容器,通常与 -t 同时使用;
-t:为容器重新分配一个伪输入终端,通常与 -i 同时使用;
-P: 随机端口映射;
-p: 指定端口映射,有以下四种格式
      ip:hostPort:containerPort
      ip::containerPort
      hostPort:containerPort
      containerPort

2.列出当前所有正在运行的容器

docker ps [OPTIONS]
经常查看正在运行的容器一般不带参数
OPTIONS说明(常用):
-a:列出当前所有正在运行的容器+历史上运行过的
-l :显示最近创建的容器。
-n:显示最近n个创建的容器。
-q :静默模式,只显示容器编号。
--no-trunc :不截断输出。

3.退出当前容器

exit 容器停止退出

ctrl+P+Q 容器不停止退出(不区分大小写)

4.重新进入正在运行的容器

 docker exec -it 容器ID bashShell(shell 命令)

docker exec -it 容器ID /bin/bash  进入到前端交互
docker attach 容器ID

两个区别

attach 直接进入容器启动命令的终端,不会启动新的进程(如果容器之前是后台启动的那就会有问题,同一个进程如何做到及后台有前端交互)

exec 是在容器中打开新的终端,并且可以启动新的进程

5.从容器内拷贝文件到主机上

docker cp  容器ID:容器内路径 目的主机路径

6.重启,停止容器

docker start 容器ID或者容器名

docker restart 容器ID或者容器名

docker stop 容器ID或者容器名

docker kill 容器ID或者容器名 强制停止(和linux里面的kill杀手一个进程雷同)

7.删除容器

删除容器前一般都要先停止

docker rm 容器ID

一次性删除多个容器

docker rm -f $(docker ps -a -q)(和删除镜像十分相似)

docker ps -a -q | xargs docker rm

本帖子内容本非完全原创,大部分参考尚硅谷2018周阳老师的教程(B站)。强烈推荐



版权声明:本文为NC_NE原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。