Docker 分为 CE 和 EE 两大版本。CE 即社区版(免费,支持周期 7 个月),EE 即企业版,强调安全,付费使用,支持周期 24 个月。
CentOS 7 安装Docker CE
一.安装准备
系统要求
Docker CE 支持 64 位版本 CentOS 7,并且要求内核版本不低于 3.10。 CentOS 7 满足最低内核的要求,但由于内核版本比较低,部分功能(如 overlay2 存储层驱动)无法使用,并且部分功能可能不太稳定。
卸载旧版本
旧版本的 Docker 称为 docker 或者 docker-engine,使用以下命令卸载旧版本:
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine
二.使用yum安装
2.1使用清华大学的镜像站
[root@liujie yum.repos.d]# wget https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo
替换url:
[root@liujie yum.repos.d]# vim docker-ce.repo
:%s@https://download.docker.com/@https://mirrors.tuna.tsinghua.edu.cn/docker-ce/@
2.2安装Docker
[root@liujie yum.repos.d]# yum install docker-ce -y
解决 docker-ce 安装报错 cont9ainer-selinux >= 2.9
1. 下载container-selinux-2.9-4
2.安装 container-selinux
[root@liujie yum.repos.d]# yum install container-selinux-2.9-4.el7.noarch.rpm
2.3 镜像加速器
阿里云镜像加速器:https://cr.console.aliyun.com/#/accelerator
使用配置文件/etc/docker/daemon.json(没有时新建该文件)。
{
"registry-mirrors": ["https://q95dlt3p.mirror.aliyuncs.com"]
}
注意,一定要保证该文件符合 json 规范,否则 Docker 将不能启动。
启动docker
[root@liujie ~]# systemctl restart docker
[root@liujie ~]# docker version
Client:
Version: 18.09.0
API version: 1.39
Go version: go1.10.4
Git commit: 4d60db4
Built: Wed Nov 7 00:48:22 2018
OS/Arch: linux/amd64
Experimental: false
Server: Docker Engine - Community
Engine: Version: 18.09.0
API version: 1.39 (minimum version 1.12)
Go version: go1.10.4
Git commit: 4d60db4
Built: Wed Nov 7 00:19:08 2018
OS/Arch: linux/amd64
Experimental: false
三.常用操作
docker [OPTIONS] COMMAND
COMMAND 又为子命令 分为几类
建议使用分组的管理命令
3.1 #docker info
查看docker系统信息。
[root@liujie ~]# docker info
Containers: 0 //显示容器个数
Running: 0 //运行状态的
Paused: 0 //暂停状态的
Stopped: 0 //停止状态的
Images: 3 //有多少个镜像
Server Version: 18.09.0
Storage Driver: overlay2 //存储驱动后端
Backing Filesystem: xfs
Supports d_type: true
Native Overlay Diff: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
Volume: local
Network: bridge host macvlan null overlay
Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
Swarm: inactive
..........
Insecure Registries:
127.0.0.0/8
Registry Mirrors:
https://q95dlt3p.mirror.aliyuncs.com/ //阿里云加速
Live Restore Enabled: false
Product License: Community Engine
3.2 #docker search
搜索镜像
–automated :只列出 automated build类型的镜像;
–no-trunc :显示完整的镜像描述;
-s :列出收藏数不小于指定值的镜像。
[root@liujie ~]# docker search -s 200 redis
Flag --stars has been deprecated, use --filter=stars=3 instead
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
redis Redis is an open source key-value store that… 6299 [OK]
3.3 #docker image pull
从镜像仓库中拉取或者更新指定镜像
[root@liujie ~]# docker image pull nginx:1.14-alpine
3.4 #docker images
列出本地所以镜像
-a :列出本地所有的镜像(含中间映像层,默认情况下,过滤掉中间映像层);
–digests :显示镜像的摘要信息;
-f :显示满足条件的镜像;
–format :指定返回值的模板文件;
–no-trunc :显示完整的镜像信息;
-q :只显示镜像ID
[root@liujie ~]# docker image images nginx
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx 1.14-alpine d956af1ad36a 13 days ago 17.7MB
nginx latest 568c4670fa80 3 weeks ago 109MB
3.5 #docker image rm 或者docker rmi
删除docker镜像
而docker rm 则为删除容器
[root@liujie ~]# docker image rm redis
3.6 #docker container create
创建容器
3.7 # docker container ls 或 # docker ps
列出容器
3.8 # docker container run
创建并运行容器
root@liujie ~]# docker container run --name b1 -it busybox
3.9 # docker container stop
停止容器
[root@liujie ~]# docker container stop b2
b2
3.10 #docker container rm
删除容器
删除容器先停止容器
[root@liujie ~]# docker container rm b1
b1
3.11 #docker container logs
获取容器的日志
[root@liujie ~]# docker container logs web1
172.17.0.1 - - [19/Dec/2018:07:33:38 +0000] "GET / HTTP/1.1" 200 612 "-" "curl/7.29.0" "-"