docker工作常用命令

本文介绍了Docker工作中常用的系统命令、镜像命令和容器命令,包括查看版本、镜像列表、下载与删除镜像、从容器创建镜像、推送镜像、新建与管理容器等操作。内容参考了尚硅谷2018周阳老师的教程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

可以说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站)。强烈推荐

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值