安装环境:Centos7.X,关闭防火墙,SELinux,使用网络yum源
安装rpm包准备:
docker-ce-17.03.0.ce-1.el7.centos.x86_64.rpm
docker-ce-selinux-17.03.0.ce-1.el7.centos.noarch.rpm
#17版本需要两个安装包,18版本以后的只需要一个安装包。
目录
- 一、安装步骤
- 二、docker加速器
一、安装步骤
#上传安装包
rz -E
#安装
yum -y install docker-ce*
#查看安装是否成功
docker version
#设置为开机自启
systemctl enable docker.service
#docker会利用防火墙规则实现上网和网络分发,安装完成后,若不重载系统的话可能不生效
reboot
#检查运行状态
systemctl status docker.service
#下载第一个镜像,运行第一个容器
docker run hello-world
#查看下载的镜像
docker images
[root@localhost ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
#仓库 版本号 镜像ID 创造时间 大小
hello-world latest d1165f221234 34 hours ago 13.3 kB
#查看正在运行的容器
docker ps
#查看运行过的容器
docker ps -a
[root@localhost ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
[root@localhost ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
b740afcc518b hello-world "/hello" 23 hours ago Exited (0) 23 hours ago zen_saha
二、docker加速器
命令行执行此条命令,生成daemon.json文件,里面包含了加速器网址
curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.io
root@localhost docker]# cat /etc/docker/daemon.json
{"registry-mirrors": ["http://f1361db2.m.daocloud.io"]}
三、下载镜像运行容器实例
1、WordPress, 运行环境需要如下软件的支持:
PHP 5.6 或更新软件
MySQL 5.6 或 更新版本
Apache 和 mod_rewrite 模块
#从镜像启动一个容器,–name指定容器名称db,–env指定环境变量 MYSQL_ROOT_PASSWORD=example这样相当于设置了数据库的初始化密码,如果不设置就是用默认的,环境变量的设定和使用参考官方文件。d放在后台运行,mariadb指定镜像名称若本地没有这个镜像则docker守护进程会尝试从网上下载。
docker run --name db --env MYSQL_ROOT_PASSWORD=example -d mariadb
#从镜像启动一个容器,–name指定容器名称MyWordPress。–link db:mysql查找有没有叫db的容器,找到后将db容器的私有地址和名称写到/etc/host文件中做解析,:mysql的含义是做了一个别名,也就是说不管我们访问mysql还是db,访问的都是数据库容器对应的ip地址。因为容器启动以后内部都会分配一个私有地址,这个地址不能被外界识别是虚拟的,每次重启容器这个地址都会变化,为了容器之间能识别,就采用容器名称解析的方式。-p 8080:80DNET映射,8080代表物理机访问的端口,80代表容器内部访问的端口。-d放在后台运行,wordpress镜像。
docker run --name MyWordPress --link db:mysql -p 8080:80 -d wordpress
[root@localhost ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
wordpress latest bbd9ec4bf176 27 hours ago 550 MB
hello-world latest d1165f221234 35 hours ago 13.3 kB
mariadb latest e27cf5bc24fe 3 days ago 401 MB
[root@localhost ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
c6f3daecccbd wordpress "docker-entrypoint..." 8 minutes ago Up 8 minutes 0.0.0.0:8080->80/tcp MyWordPress
2d0262ba6a18 mariadb "docker-entrypoint..." 27 minutes ago Up 27 minutes 3306/tcp db
[root@localhost ~]# netstat -antp | grep 8080
tcp6 0 0 :::8080 :::* LISTEN 8840/docker-proxy
#镜像下载完成检查启动容器成功后访问站点
http://192.168.45.22:8080