1. Docker基础命令
本文简要介绍Docker的基础命令,目的在于快速入门Dokcer,Docker的完整命令可以参考Docker官方手册。
0. 安装Docker
Docker当前分为企业版(Docker Enterprise Edition)和社区版(Docker Community Edition),安装包名称分别为 docker-ee 和 docker-ce 。本文介绍社区版docker-ce的安装,如果你已经安装了旧版本的Docker(安装包名为docker),我们首先要移除旧版本的Docker。
移除旧版的docker
yum remove docker*
配置docker-ce YUM仓库
# 方法1:
curl -o /etc/yum.repos.d/docker-ce.repo https://download.docker.com/linux/centos/docker-ce.repo # 方法2:
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
安装docker-ce
安装最新版的docker-ce
yum -y install docker-ce
安装指定版本的docker-ce
# 查看所有版本的docker-ce
yum list docker-ce --showduplicates # 安装指定版本的docker-ce
yum install docker-ce-<VERSION>
启动docker
# 启动|停止|查看状态
systemctl start|stop|status dokcer
Docker的子命令非常多,可以使用 docker [help|--help|-H|-h] 查看Docker完整子命令
$ docker
Usage: docker COMMAND
...
Commands:
attach Attach local standard input, output, and error streams to a running container
build Build an image from a Dockerfile
commit Create a new image from a container's changes
cp Copy files/folders between a container and the local filesystem
create Create a new container
diff Inspect changes to files or directories on a container's filesystem
events Get real time events from the server
exec Run a command in a running container
export Export a container's filesystem as a tar archive
history Show the history of an image
images List images
import Import the contents from a tarball to create a filesystem image
info Display system-wide information
inspect Return low-level information on Docker objects
kill Kill one or more running containers
load Load an image from a tar archive or STDIN
login Log in to a Docker registry
logout Log out from a Docker registry
logs Fetch the logs of a container
pause Pause all processes within one or more containers
port List port mappings or a specific mapping for the container
ps List containers
pull Pull an image or a repository from a registry
push Push an image or a repository to a registry
rename Rename a container
restart Restart one or more containers
rm Remove one or more containers
rmi Remove one or more images
run Run a command in a new container
save Save one or more images to a tar archive (streamed to STDOUT by default)
search Search the Docker Hub for images
start Start one or more stopped containers
stats Display a live stream of container(s) resource usage statistics
stop Stop one or more running containers
tag Create a tag TARGET_IMAGE that refers to SOURCE_IMAGE
top Display the running processes of a container
unpause Unpause all processes within one or more containers
update Update configuration of one or more containers
version Show the Docker version information
wait Block until one or more containers stop, then print their exit codes Run 'docker COMMAND --help' for more information on a command.
docker不但子命令众多,每个子命令又有许多选项和参数,可以使用 docker COMMAND --help 查看子命令的使用
$ docker pull --help Usage: docker pull [OPTIONS] NAME[:TAG|@DIGEST] Pull an image or a repository from a registry Options:
-a, --all-tags Download all tagged images in the repository
--disable-content-trust Skip image verification (default true)
下图是Docker的命令结构图,可以帮助我们快速理解Docker基础命令的使用。

1. Docker环境信息
docker info 命令
docker info 命令用于查看Docker是否正确安装,正确安装则返回Docker的配置信息。
$ docker info
Containers:
Running:
Paused:
Stopped:
Images:
...
docker version 命令
docker version命令用于显示docker版本信息
# docker version
Client:
Version: 18.03.-ce
API version: 1.37
Go version: go1.9.5
Git commit: 9ee9f40
Built: Thu Apr ::
OS/Arch: linux/amd64
Experimental: false
Orchestrator: swarm Server:
Engine:
Version: 18.03.-ce
API version: 1.37 (minimum version 1.12)
Go version: go1.9.5
Git commit: 9ee9f40
Built: Thu Apr ::
OS/Arch: linux/amd64
Experimental: false
2. 从Docker Registry中下载、上传镜像
Docker官方仓库Docker Hub中有大量的Docker镜像可供我们下载使用,对于国内的用户访问Docker Hub速度比较慢,可通过配置阿里云Docker镜像加速器来提高速度,配置方法如下:
编辑配置文件 /etc/docker/daemon.json
$ vim /etc/docker/daemon.json
{
"registry-mirrors": ["https://13sxamgp.mirror.aliyuncs.com"]
}
docker pull命令
从Docker Rgeistry仓库中下载Images到本地主机
语法: docker pull [OPTIONS] NAME[:TAG]
#从配置的默认仓库中拉取最新的busybox镜像
$ docker pull busybox #从配置的默认仓库中拉取版本为7..1708的CentOS镜像
# docker pull centos:7.4. #从指定的仓库中拉取镜像
$ docker pull registry.cn-hangzhou.aliyuncs.com/zhubiao/busybox:latest
docker images命令
从仓库拉取下来的镜像,我们可以使用 docker images 命令列出
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
busybox latest 8c811b4aec35 weeks ago .15MB
registry.cn-hangzhou.aliyuncs.com/zhubiao/busybox latest 8c811b4aec35 weeks ago .15MB
centos
docker push命令
将本地主机上的docker镜像上传到Docker Registry仓库中
3. 给镜像创建标签、删除镜像
docker tag命令
同一个镜像的不同版本,通常使用Tag标签来区分,创建镜像的标签语法是:
docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]
#以busybox:latest为源,创建busybox:1.28.
$ docker images busybox
REPOSITORY TAG IMAGE ID CREATED SIZE
busybox latest 8c811b4aec35 weeks ago .15MB
$
$ docker tag busybox:latest busybox:1.28.
$
$ docker images busybox
REPOSITORY TAG IMAGE ID CREATED SIZE
busybox 1.28. 8c811b4aec35 weeks ago .15MB
busybox latest 8c811b4aec35 weeks ago .15MB
docker rmi命令
删除本地主机的镜像文件
语法: docker rmi [options] IMAGE...
选项 -f 强制删除镜像,即使该镜像被某个Container容器所依赖
# 删除镜像busybox:latest
$ docker rmi busybox:latest
4. 镜像的导出、导入
我们可以使用 docker save 命令将镜像导出为tar文件,也可以使用 docker load 命令将镜像文件导入。
docker save命令
将Images文件导出为tar格式的打包文件
语法: docker save REPOSITORY[:TAG] -o IMAGE.tar
将busybox导出为busybox.tar文件
$ docker save busybox:1.28. -o busybox.tar
$ ls busybox.tar
busybox.tar
docker load命令
将打包的镜像文件导入为Image
语法: docker load -i IMAGE.tar
# 将现有的镜像文件busybox:1.28.4删除,然后将上面所导出的busybox.tar文件导入
$ docker rmi busybox:1.28.
$ docker load -i ./busybox.tar
Loaded image: busybox:1.28.
5. 容器生命周期管理
docker run 命令
当本地主机有镜像以后,我们就可以是用 docker run 命令创建并启动容器Container。
语法: docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
选项 -i :交互模式
-t :给启动的容器分配一个伪终端, -it 配合使用就可以与容器的伪终端进行交互式操作。
--name :给创建的容器分配一个名字,如果不指定,将随机分配一个。
-v :
COMMAND:启动容器后,在容器中执行的命令
#使用镜像centos:7.4.1708创建容器,并命名为test,由于使用了-it选项,并在容器中执行了bash命令。所以容器启动就可也与容器进行交互式操作。
$ docker run -it --name test centos:7.4. /bin/bash
[root@c11fc849b0a4 /]# #同时按下Ctrl + p + q快捷键退出容器,同时保持容器的运行
[root@c11fc849b0a4 /]# $
$
docker ps 命令
用于查看容器信息,比如容器的ID、名字、运行状态、依赖的镜像等,默认不加选项只列出正在运行的容器。
语法: docker ps [OPTIONS]
选项 -a :列出所有容器,包括未运行的
$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
bdc004a443cc busybox "echo 'Hello World!'" seconds ago Exited () seconds ago hardcore_noyce
c11fc849b0a4 centos:7.4. "/bin/bash" minutes ago Up minutes test
docker attach 命令
当断开与容器的连接后,可以使用 docker attach 命令重新连接到正在运行的容器,与容器进行交互式等操作
$ docker attach test
[root@c11fc849b0a4 /]#
docker start | stop | restart 命令
对容器进行启动、停止、重启操作
#停止test容器,这里我们用容器名test,也可以使用CONTAINER ID
$ docker stop test
test #启动容器
$ docker start test
test #重启容器
$ docker restart test
docker commit 命令
对正在运行的容器,我们可能已经在里面安装了一些程序,修改了配置文件,可以使用 docker commit 命令将其固化下来,生成镜像文件。但制作镜像,通常不使用该方法,建议使用 docker build 命令结合Dockerfile文件来创建镜像。
语法: docker commit [options] CONTAINER [REPOSITORY[:TAG]]
#将test容器制作成镜像
$ docker commit test #查看制作好镜像
$ docker images centos
REPOSITORY TAG IMAGE ID CREATED SIZE
centos 7.4. 3afd47092a0e months ago 197MB
docker inspect 命令
用来查看容器和镜像的详细信息,默认会输出所有信息,可以使用 -f 选项来指定输出的信息
语法: docker inspect [options] CONTAINER|IMAGE
选项 -f STRING :用来输出指定段的信息
#查看容器的信息
$ docker inspect test
[
{
"Id": "c11fc849b0a4d4c5f8f64d3a821b401bf90ea4d664f3ca840a6c093b27717d05",
"Created": "2018-06-16T03:27:24.713206283Z",
"Path": "/bin/bash",
...
},
...
] # 查看容器的地址
$ docker inspect -f {{.NetworkSettings.IPAddress}} test
172.17.0.2 # 查看镜像的指定信息
$ docker inspect -f {{.RepoTags}} centos:7.4.
[centos:7.4.]
docker rm 命令
用于删除1个或多个容器,
语法: docker rm [OPTIONS] CONTAINER [CONTAINER...]
选项 -f :强制删除容器,包括正在运行的容器
$ docker rm -f test
test
1. Docker基础命令的更多相关文章
- Docker - Docker基础命令及使用
Docker Docker - 官网 Docker - Hub GitHub - Docker Docker中文社区 Docker基础命令 Docker 查看帮助信息:docker --help 查看 ...
- docker基础命令和操作
前言 之前在部署个人网站的时候,需要打包maven,在生产环境,需要使用到docker去做服务器和端口的守护. 于是在查阅了相关资料,学习了docker一些基本命令行操作,包括对镜像的查看,修改和添加 ...
- docker基础命令,常用操作
docker基础命令 使用docker镜像 获取镜像 从docker registry获取镜像的命令是docker pull.命令格式是: docker pull [选项][docker regist ...
- docker基础命令详解
Commands: attach Attach to a running container build Build an image from a Dockerfile commit ...
- Docker基础命令和时区问题
Docker 命令 1. 安装Docker # ubuntu系统安装 $ sudo apt install docker-ce # 启动docker $ sudo systemctl start do ...
- docker基础命令
docker version ...
- Docker 基础命令 简要入门
本文出自:http://www.cnblogs.com/scoter2008,本文将持续更新所有docker都可以通过man查看帮助:man docker [ps|top|run|...]1.列出正在 ...
- docker 基础命令
检查Docker安装是否正确docker info拉取镜像docker pull (image name)启动docker run -d -d 后台运行查看日志docker logs $sample_ ...
- Docker系列(二):Docker基础命令
docker的部署安装(Linux kernel至少3.8以上): yum install docker docker1.8安装:(下面 是两个命令) # cat >/etc/yum.repos ...
随机推荐
- Java学习--jsp基础语法
<%! %>和<% %>的区别: <%! //1.可定义方法 //2.可定义static方法 //3.可定义static属性 //4.不可以使用out对象 %> ...
- ssm项目快速搭建(注解)-依赖
父层jar包版本控制,管理配置 <!-- 集中定义依赖版本号 --> <properties> <junit.version>4.12</ ...
- SpringMVC拦截器的实现单方登陆
过滤器跟拦截器的区别 ①拦截器是基于java的反射机制的,而过滤器是基于函数回调.②拦截器不依赖与servlet容器,过滤器依赖与servlet容器.③拦截器只能对action请求起作用,而过滤器则可 ...
- sql-(Cross||Outer)Apply
Apply - 涉及以下两个步骤中的一步或两步(取决于Apply的类型): 1.A1:把右表表达式应用于左表的行 2.A2:添加外部行 Apply运算符把右表表达式应用于左输入的每一行.右表达式可以引 ...
- Angular进阶教程三
7 总结 angular上手比较难,初学者(特别是习惯了使用JQuery的人)可能不太适应其语法以及思想.随着对ng探索的一步步深入,也确实感觉到了这一点,尤其是框架内部的某些执行机制. 7.1页面效 ...
- MUI框架-14-使用自定义icon图标、引入阿里巴巴矢量图标
MUI框架-14-使用自定义icon图标.引入阿里巴巴矢量图标 首先介绍介绍一下,前端必备的非常强大的 阿里巴巴矢量图标库:地址是:http://www.iconfont.cn/ 这里有丰富,精美,且 ...
- QQ群文件下载速度慢-解决办法
QQ群文件下载速度慢-解决办法 本方法是本人亲测测试出来的,特此和大家分享 没有效果让你打我 解决方法 1.打开[手机版 QQ] 2.进入群文件,找到需要下载文件 3.[分享],先点击[发给好友],选 ...
- java中字节流与字符流以及字节流多余字节问题
1.字节流 字节流byte为单位对文件的数据进行写入与读取操作.字节的方式在复制音频图片文件时比较适用,但在对于普通文件的读写上有两大缺陷: 第一,字节流在读取中文字符时,若设定的字节数组长度刚好末尾 ...
- PRINCE2的优势有哪些?
PRINCE2之所以迅速发展的原因之一是许多企业认识到建立适合自己企业的项目管理标准是一项耗时耗财的工作. 他们至少要花费6-12个月.成千上万个工时来建立一套方法,而这只是最初的成本. 之后他们必须 ...
- Linux-文件目录命令
黑色 代表是普通的文件 蓝色 代表是目录(文件夹) 紫色 代表是图片文件 绿色 代表是可以执行的文件(脚本文件)-->存放linux命令的 红色 代表是压缩文件 clear:清屏pwd:显示当前 ...