1.下载并在线安装
yum install docker
2.安装后查看Docker版本
docker -v
3.启动、停止、重启等命令
启动docker:service docker start
停止docker:service docker stop
重启docker:service docker restart
查看docker状态:service docker status
开机启动:chkconfig docker on
开机启动:systemctl enable docker.service
4.Docker说明文档
查看docker概要信息:docker info
查看docker帮助文档:docker --help
5.Docker镜像
5.1 搜索镜像
docker search [OPTIONS] 镜像名字
参数说明 NAME:仓库名称 DESCRIPTION:镜像描述 STARS:用户评价,反应一个镜像的受欢迎程度 OFFICIAL:是否官方 AUTOMATED:自动构建,表示该镜像由Docker Hub自动构建流程创建的
5.2拉取镜像
docker pull 镜像名字[:TAG] [:TAG]镜像的版本号
示例:docker pull tomcat:7 下载tomcat7版本
5.3修改Docker默认的镜像源地址,优先从国内的下
-
编辑该文件:
vim /etc/docker/daemon.json
// 如果该文件不存在就手动创建;说明:在centos7.x下,通过vi。 -
在该文件中输入如下内容:
{ "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"] }
-
注意:一定要重启docker服务,如果重启docker后无法加速,可以重新启动OS
5.4镜像的查看
docker images
2.4.删除镜像
作用:删除镜像 删除单个
docker rmi -f 镜像ID
删除多个
docker rmi -f 镜像ID 镜像ID
删除全部
docker rmi -f $(docker images -aq
查看容器
语法:
docker ps [OPTIONS]
OPTIONS说明(常用):
-a :列出当前所有正在运行的容器+历史上运行过的 -l :显示最近创建的容器。 -n:显示最近n个创建的容器。 -q :静默模式,只显示容器编号。 --no-trunc :不截断输出
创建与启动容器
语法:
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
创建容器常用的参数说明:
-i:表示运行容器 -t:表示容器启动后会进入其命令行。加入这两个参数后,容器创建就能登录进去。即分配一个伪终端。
--
name :为创建的容器命名。 -v:表示目录映射关系(前者是宿主机目录,后者是映射到宿主机上的目录),可以使用多个-v做多个目录或文件映射。注意:最好做目录映射,在宿主机上做修改,然后共享到容器上。 -d:在run后面加上-d参数,则会创建一个守护式容器在后台运行(这样创建容器后不会自动登录容器,如果只加-i -t两个参数,创建后就会自动进去容器)。 -p:表示端口映射,前者是宿主机端口,后者是容器内的映射端口。可以使用多个-p做多个端口映射
交互式容器
使用镜像centos:latest以交互模式启动一个容器,在容器内执行/bin/bash命令,并取名为mycentos
docker run -it --name=mycentos 镜像ID/名字 /bin/bash
/bin/bash centos操作系统的命令终端界面
[root@localhost ~]# docker run -it --name=mycentos centos:7 /bin/bash
Unable to find image 'centos:7' locally
Trying to pull repository docker.io/library/centos ...
7: Pulling from docker.io/library/centos
8ba884070f61: Pull complete
Digest: sha256:a799dd8a2ded4a83484bbae769d97655392b3f86533ceb7dd96bbac929809f3c
Status: Downloaded newer image for docker.io/centos:7
这时我们通过ps命令查看,发现可以看到启动的容器,状态为启动状态
[root@localhost ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
68af7641543c centos:7 "/bin/bash" 2 minutes ago Up 2 minutes mycentos
使用exit命令 退出当前容器
[root@68af7641543c /]# exit
exit
[root@localhost ~]#
然后用ps -a 命令查看发现该容器也随之停止:
[root@localhost ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
68af7641543c centos:7 "/bin/bash" 3 minutes ago Exited (0) 28 seconds ago mycentos
8b3e9c904970 mysql "docker-entrypoint..." 3 months ago Exited (255) 4 hours ago 0.0.0.0:3306->3306/tcp, 33060/tcp my1024_mysql
创建一个守护式容器:如果对于一个需要长期运行的容器来说,我们可以创建一个守护式容器。命令如下(容器名称不能重复):
docker run -di --name=mycentos2 centos:7
[root@localhost ~]# docker run -di --name=mycentos2 centos:7 bf9248203458805ff33b997c50b89b58791ac1af21b22e2ab243a8bee2a0bf66 [root@localhost ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES bf9248203458 centos:7 "/bin/bash" 19 seconds ago Up 18 seconds mycentos2
登录容器方式:
docker exec -it container_name (或者 container_id) /bin/bash(exit退出时,容器不会停止)
[root@localhost ~]# docker exec -it mycentos2 /bin/bash [root@bf9248203458 /]# ll total 12 -rw-r--r--. 1 root root 12082 Mar 5 17:36 anaconda-post.log lrwxrwxrwx. 1 root root 7 Mar 5 17:34 bin -> usr/bin drwxr-xr-x. 5 root root 340 Jun 17 11:30 dev drwxr-xr-x. 1 root root 66 Jun 17 11:30 etc drwxr-xr-x. 2 root root 6 Apr 11 2018 home lrwxrwxrwx. 1 root root 7 Mar 5 17:34 lib -> usr/lib lrwxrwxrwx. 1 root root 9 Mar 5 17:34 lib64 -> usr/lib64 drwxr-xr-x. 2 root root 6 Apr 11 2018 media drwxr-xr-x. 2 root root 6 Apr 11 2018 mnt drwxr-xr-x. 2 root root 6 Apr 11 2018 opt dr-xr-xr-x. 125 root root 0 Jun 17 11:30 proc dr-xr-x---. 2 root root 114 Mar 5 17:36 root drwxr-xr-x. 1 root root 21 Jun 17 11:30 run lrwxrwxrwx. 1 root root 8 Mar 5 17:34 sbin -> usr/sbin drwxr-xr-x. 2 root root 6 Apr 11 2018 srv dr-xr-xr-x. 13 root root 0 Jun 10 16:40 sys drwxrwxrwt. 7 root root 132 Mar 5 17:36 tmp drwxr-xr-x. 13 root root 155 Mar 5 17:34 usr drwxr-xr-x. 18 root root 238 Mar 5 17:34 var [root@bf9248203458 /]#
停止与启动容器
-
停止正在运行的容器:
docker stop $CONTAINER_NAME/ID