您好,登录后才能下订单哦!
1 前言
本文介绍16个常用的Docker命令,先给大家有个简单的概念,部分命令较为复杂。
2 常用命令
2.1 docker images
docker images 命令用于查看镜像列表,docker images -a 命令用于查看所有镜像。通过 docker build 命令构建的镜像会存在子镜像,此时可通过 docker images -a 命令查看构建的镜像所包含的所有子镜像;通过 docker pull 命令拉取的镜像不存在子镜像。
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 tag 命令给镜像打标签。打标签时,必须传入镜像ID、新的镜像名及镜像版本号。
docker tag 6d1ef012b567 alpine:3.7
2.5 docker rmi
给镜像打完标签后,会同时存在两个镜像,如下图所示:
原来拉取的镜像名和自己想要的镜像名同时存在,此时可通过 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 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
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。