1. 安装Docker

1
2
3
4
5
6
7
# 安装Dokcer
[root@test2 ~]# yum install -y docker
# 查看是否安装成功 通过yum安装完成列表并筛选docker安装信息如下所示
[root@test2 ~]# yum list installed | grep docker
docker.x86_64 2:1.13.1-96.gitb2f74b2.el7.centos @extras
docker-client.x86_64 2:1.13.1-96.gitb2f74b2.el7.centos @extras
docker-common.x86_64 2:1.13.1-96.gitb2f74b2.el7.centos @extras

注:-y表示不再询问,使用默认配置进行安装。

2. 启动Docker服务

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# 启用Docker服务
[root@test2 ~]# systemctl start docker
# 查看Docker状态
[root@test2 ~]# systemctl status docker
● docker.service - Docker Application Container Engine
Loaded: loaded (/usr/lib/systemd/system/docker.service; disabled; vendor preset: disabled)
Active: active (running) since 日 2019-06-30 13:28:20 CST; 9s ago
Docs: http://docs.docker.com
Main PID: 40684 (dockerd-current)
CGroup: /system.slice/docker.service
├─40684 /usr/bin/dockerd-current --add-runtime docker-runc=/usr/libexec/docker/docker-runc-cur...
└─40695 /usr/bin/docker-containerd-current -l unix:///var/run/docker/libcontainerd/docker-cont...

6月 30 13:28:18 test2 dockerd-current[40684]: time="2019-06-30T13:28:18.507160774+08:00" level=info ...695"
6月 30 13:28:19 test2 dockerd-current[40684]: time="2019-06-30T13:28:19.765323180+08:00" level=info ...nds"
6月 30 13:28:19 test2 dockerd-current[40684]: time="2019-06-30T13:28:19.767794756+08:00" level=info ...rt."
6月 30 13:28:19 test2 dockerd-current[40684]: time="2019-06-30T13:28:19.997012431+08:00" level=info ...lse"
6月 30 13:28:20 test2 dockerd-current[40684]: time="2019-06-30T13:28:20.245956439+08:00" level=info ...ess"
6月 30 13:28:20 test2 dockerd-current[40684]: time="2019-06-30T13:28:20.458345533+08:00" level=info ...ne."
6月 30 13:28:20 test2 dockerd-current[40684]: time="2019-06-30T13:28:20.490475169+08:00" level=info ...ion"
6月 30 13:28:20 test2 dockerd-current[40684]: time="2019-06-30T13:28:20.490503694+08:00" level=info ...13.1
6月 30 13:28:20 test2 systemd[1]: Started Docker Application Container Engine.
6月 30 13:28:20 test2 dockerd-current[40684]: time="2019-06-30T13:28:20.506191917+08:00" level=info ...ock"
Hint: Some lines were ellipsized, use -l to show in full.
# 使用Docker命令
[root@test2 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE

注:裸机状态下Docker镜像列表为空。

3. 使用Docker安装MySQL

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# 使用Docker pull拉取Docker hub仓库中的MySQL镜像
[root@test2 ~]# docker pull mysql:8.0
Trying to pull repository docker.io/library/mysql ...
8.0: Pulling from docker.io/library/mysql
fc7181108d40: Pull complete
787a24c80112: Pull complete
a08cb039d3cd: Pull complete
4f7d35eb5394: Pull complete
5aa21f895d95: Pull complete
a742e211b7a2: Pull complete
0163805ad937: Pull complete
87f18876c3ff: Pull complete
78082f25f167: Pull complete
0a510f055c17: Pull complete
312b0999e433: Pull complete
f864cfdc0264: Pull complete
Digest: sha256:415ac63da0ae6725d5aefc9669a1c02f39a00c574fdbc478dfd08db1e97c8f1b
Status: Downloaded newer image for docker.io/mysql:8.0

注:docker pull 默认到官方参考拉取 mysql:8.0 镜像名:镜像tag,官方地址为国外地址,下载速度缓慢可进行配置。

1
2
# 修改镜像文件拉取地址为ustc
[root@test2 ~]# vi /etc/docker/daemon.json

注:insert编辑内容如下所示,并以wq保存并退出。

1
2
3
{
"registry-mirrors":["https://docker.mirrors.ustc.edu.cn"]
}

修改完毕后重启Docker服务。

1
2
3
4
5
6
# 重启Docker服务
[root@test2 ~]# systemctl restart docker
# 查看DOcker内的镜像文件确保MySQL 8.0已成功拉取
[root@test2 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/mysql 8.0 c7109f74d339 2 weeks ago 443 MB

4. 启动MySQL镜像

1
2
3
# 启动Docker中的MySQL
[root@test2 ~]# docker run --name mysql8.0 -p 3307:3306 -e MYSQL_ROOT_PASSWORD=root -d mysql:8.0
1c52224315bfd65766724e3238d1c66a9ac93c6b04795776e432aed97b437c28

注:

  • –name 为服务启动别名设置
  • -p 端口映射 宿主机端口:镜像运行端口
  • -d 镜像名:tag 使用守护进程模式启动
  • -e 设置root账号密码
1
2
3
4
# 查看运行的镜像
[root@test2 ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
1c52224315bf mysql:8.0 "docker-entrypoint..." 56 seconds ago Up 55 seconds 33060/tcp, 0.0.0.0:3307->3306/tcp mysql8.0

5. 进入镜像运行MySQL

1
2
# 进入MySQL镜像
[root@test2 ~]# docker exec -it mysql8.0 /bin/bash

注::exec docker进入容器命令 -it 容器中服务别名 /bin/bash 表示命令行模式 与 -d 后台守护进行模式启动 形成两种运行方式

1
2
3
4
5
6
7
# 进入MySQL
root@1c52224315bf:/# cd /usr/bin
root@1c52224315bf:/usr/bin# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 9
Server version: 8.0.16 MySQL Community Server - GPL

至此Doker中安装使用MySQL 8.0完成。

6. 其他命令

1
2
3
4
5
6
7
8
9
10
11
# 删除安装包
yum remove -y 安装包名
# 停止/开始服务
systemctl start docker
systemctl stop docker
# 移除已经安装的镜像
docker rmi 镜像名:tag or 镜像id
# 停止/启动/删除容器服务
docker stop 容器服务别名 or 容器id
docker start 容器服务别名 or 容器id
docker rm 容器服务别名 or 容器id