Docker的常用命令有哪些?
admin
2023-03-25 10:01:40
0

1 前言

        本文介绍16个常用的Docker命令,先给大家有个简单的概念,部分命令较为复杂。

2 常用命令

2.1 docker images

       docker images 命令用于查看镜像列表,docker images -a 命令用于查看所有镜像。通过 docker build 命令构建的镜像会存在子镜像,此时可通过 docker images -a 命令查看构建的镜像所包含的所有子镜像;通过 docker pull 命令拉取的镜像不存在子镜像。

Docker的常用命令有哪些?

        docker images 命令拉取的镜像信息中,从左到右依次为镜像名、版本号、镜像ID、镜像创建时间、镜像大小,镜像ID是镜像唯一标识,可以通过 docker tag 命令给镜像打标签,生成多个不同镜像名的镜像。

2.2 docker login

        docker login 命令用于登录docker仓库。拉取非公开镜像仓库的镜像或者要往镜像仓库中推送镜像时,需要先通过 docker login 命令登录该镜像仓库,再进行操作。

docker login --username=<用户名> registry.cn-hangzhou.aliyuncs.com

2.3 docker pull

       docker pull 命令用于拉取镜像。从docker官方镜像仓库拉取镜像时无需登录,直接传入镜像名和版本号即可拉取;从三方公开镜像仓库拉取镜像时无需登录,但需要传入三方镜像仓库的域名、镜像名和版本号才能拉取;从三方非公开镜像仓库拉取镜像需要先通过 docker login 命令进行登录,登录成功后才能拉取镜像。

        从docker官方镜像仓库拉取

docker pull alpine:3.7

        从三方公开镜像仓库拉取

docker pull registry.cn-hangzhou.aliyuncs.com/jiuxi-blockchain/alpine:3.7

        从三方非公开镜像仓库拉取

docker login --username=<用户名> registry.cn-hangzhou.aliyuncs.com

docker pull registry.cn-hangzhou.aliyuncs.com/jiuxi-blockchain/alpine:3.7

docker logout registry.cn-hangzhou.aliyuncs.com

2.4 docker tag

       从三方镜像仓库拉取镜像后,镜像名会包含三方镜像仓库的域名,如下图所示:Docker的常用命令有哪些?

        此时的镜像名并非想要的镜像名,此时可以通过 docker tag 命令给镜像打标签。打标签时,必须传入镜像ID、新的镜像名及镜像版本号。

docker tag 6d1ef012b567 alpine:3.7

2.5 docker rmi

       给镜像打完标签后,会同时存在两个镜像,如下图所示:Docker的常用命令有哪些?

        原来拉取的镜像名和自己想要的镜像名同时存在,此时可通过 docker rmi 命令删除自己不想要的镜像名。删除镜像时,必须传入镜像名及镜像版本号。

docker rmi registry.cn-hangzhou.aliyuncs.com/jiuxi-blockchain/alpine:3.7

2.6 docker logout

        docker logout 命令用于退出镜像仓库。与镜像仓库操作结束后,出于安全考虑,要退出已登录镜像仓库。

docker logout registry.cn-hangzhou.aliyuncs.com

2.7 docker run

        docker run 命令用于启动Docker容器。在启动Docker容器时,可以指定容器名、端口映射、文件目录映射、网络桥接、环境变量、初使化脚本等很多参数,这里不做过多介绍,后续《Docker容器》文章中再对该命令做深入讲解,本文给出最简单的示例。

docker run -it alpine:3.7 sh

2.8 docker ps

       docker ps 命令用于查看运行中容器,docker ps -a 命令用于查看已启动容器,包括创建未运行及已停止运行的容器,如下图所示:Docker的常用命令有哪些?

        docker ps 命令拉取的镜像信息中,从左到右依次为容器ID、镜像、启动命令、容器创建时间、容器运行状态、端口映射关系、容器名。容器运行状态有三种状态:Up 表示运行中;Created 表示容器被创建,但未能成功启动;Exited 表示容器已停止运行。

docker ps -a

2.9 docker cp

        docker cp 命令用于将服务器目录中的指定文件复制到容器内的指定目录中。

docker cp file1 <容器名>:/path2/

2.10 docker exec

        docker exec 命令用于登录到正在运行中的容器,登录容器后可对该容器进行操作。

docker exec -it <容器名> bash

2.11 docker logs

        docker logs 命令用于查看特定容器的日志,可通过docker logs -f命令持续追踪日志,效果类似于 tail -f 命令。

docker logs -f <容器名>

2.12 docker  start

        docker start 命令用于启动一个处于未运行状态的容器,该命令只能启动容器,不能修改容器的启动参数。

docker start <容器名>

2.13 docker  stop

        docker stop 命令用于停止一个处于运行中状态的容器。

docker stop <容器名>

2.14 docker rm

        docker rm 命令用于删除一个处于未运行状态的容器。当你使用 docker rm 命令去删除处于运行中状态的容器时,命令会执行失败。

docker rm <容器名>

2.15 docker build

        docker build 命令用于创建一个镜像。创建镜像必须依托另外一个源镜像,一般采用alpine、java、centos等基础镜像做为源镜像,docker build 命令需要读取Dockerfile文件,根据Dockerfile文件配置生成镜像。创建镜像过程这里不做过多介绍,后续《Docker自定义镜像》文章中再对该命令做深入讲解。

2.16 docker push

        docker push 命令用于推送镜像到镜像仓库,推送镜像的操作,必须先进行登录。

        登录docker官方镜像仓库:

docker login

        登录三方镜像仓库:

docker login --username=<用户名> registry.cn-hangzhou.aliyuncs.com

        推送到docker官方镜像仓库时无需指定镜像仓库的域名,推送到三方仓库时,必须先通过 docker tag 命令给容器打标签,将三方仓库的域名加到镜像名中,才能进行推送。

        推送到docker官方镜像仓库:

docker push alpine:3.7

        推送到三方镜像仓库

docker tag 6d1ef012b567 registry.cn-hangzhou.aliyuncs.com/jiuxi-blockchain/alpine:3.7

docker push registry.cn-hangzhou.aliyuncs.com/jiuxi-blockchain/alpine:3.7


相关内容

热门资讯

伊朗警告法英两国:只有我们能保... △霍尔木兹海峡(资料图)针对法国和英国计划向红海及霍尔木兹海峡周边海域增派军舰,伊朗副外长加里巴巴迪...
这次对武大不妨多一点包容 1)国内某手机品牌为母亲节准备的文案,引发了很大的争议。2)我想,品牌方肯定也在努力反思当中,它在第...
俄乌互指对方违反停火安排,攻击... 当地时间10日,乌克兰总统泽连斯基发表视频讲话表示,俄方当天尚未对乌发动大规模袭击,但前线地区及邻近...
内塔尼亚胡:美以对伊朗的军事行... △以色列总理内塔尼亚胡总台记者当地时间5月10日获悉,以色列总理内塔尼亚胡在接受采访时表示,美以对伊...
越南男子不慎卷入粉碎机身亡,监... 5月7日,越南嘉莱省一名工人作业时被乳胶粉碎机卷入不幸身亡。监控显示这名工人用工具将乳胶送入粉碎机,...
超20艘美国军舰参与封锁伊朗任... 新华社华盛顿5月10日电 美军中央司令部10日在社交媒体发文称,超过20艘美国军舰参与对伊朗实施封锁...
清华硕士参与智力测验仅得25分... 5月10日,一网友@是一颗努力的豆子 分享自己在硕士入学当月在三甲精神科参与瑞文智力测验仅得25分的...
胡锡进:武大急于撇清自己,情理... 说实话,我作为老媒体人和网上人,觉得武大不该这样回应。尽管我知道,在OPPO那个引发广泛指责的“母亲...
DeepSeek塞进苹果本儿,... 文 | 字母AI 在agent时代最贵的是什么?是token。 一些重度agent使用者,一个月用...
中美将于5月12日—13日举行... 有记者问:近期有消息称,中美双方将很快举行下一轮经贸磋商,请问商务部是否有最新消息?答:经中美双方商...