目录

1 前言

2 Docker安装步骤

2.1 卸载可能存在的旧版Docker

2.2 配置Docker的yum库

2.2.1 安装yum工具

2.2.2 配置Docker的yum源

2.3 安装Docker

2.4 启动和校验

2.5 配置镜像加速(使用阿里云)

2.5.1 进入控制台

2.5.2 进入容器镜像服务 

2.5.3 获取指令并粘贴到Linux

3 MySQL的部署

3.1 MySQL的安装

3.1.1 安装指令

 3.1.2 指令及概念解读

3.2 宿主机连接MySQL

3.2.1 设置MySQL自启动

3.2.2 查看Linux的IP地址

 3.2.3 连接

4 最后 


1 前言

本文参考自黑马程序员(感谢黑马大哥),旨在分享技术和方便查询使用,如果想安装Linux版本的Docker可参考官方文档如下:

Install Docker Engine on CentOS | Docker Docs

2 Docker安装步骤

2.1 卸载可能存在的旧版Docker

yum remove docker \
    docker-client \
    docker-client-latest \
    docker-common \
    docker-latest \
    docker-latest-logrotate \
    docker-logrotate \
    docker-engine

2.2 配置Docker的yum库

2.2.1 安装yum工具

yum install -y yum-utils

2.2.2 配置Docker的yum源

yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

2.3 安装Docker

yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

2.4 启动和校验

# 启动Docker
systemctl start docker

# 停止Docker
systemctl stop docker

# 重启
systemctl restart docker

# 设置开机自启
systemctl enable docker

# 执行docker ps命令,如果不报错,说明安装启动成功
docker ps

2.5 配置镜像加速(使用阿里云)

2.5.1 进入控制台

阿里云官网地址如下:

阿里云-计算,为了无法计算的价值

登录后:

2.5.2 进入容器镜像服务 

2.5.3 获取指令并粘贴到Linux

指令的大体格式如下:

# 创建目录
mkdir -p /etc/docker

# 复制内容,注意把其中的镜像加速地址改成你自己的
tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://xxxx.mirror.aliyuncs.com"]
}
EOF

# 重新加载配置
systemctl daemon-reload

# 重启Docker
systemctl restart docker

3 MySQL的部署

3.1 MySQL的安装

3.1.1 安装指令

docker run -d \
  --name mysql \
  -p 3306:3306 \
  -e TZ=Asia/Shanghai \
  -e MYSQL_ROOT_PASSWORD=123 \
  mysql

 3.1.2 指令及概念解读

指令解读(来自黑马程序员):

  • docker run -d :创建并运行一个容器,-d则是让容器以后台进程运行

  • --name mysql : 给容器起个名字叫mysql,你可以叫别的

  • -p 3306:3306 : 设置端口映射。

    • 容器是隔离环境,外界不可访问。但是可以宿主机端口映射容器内到端口,当访问宿主机指定端口时,就是在访问容器内的端口了。

    • 容器内端口往往是由容器内的进程决定,例如MySQL进程默认端口是3306,因此容器内端口一定是3306;而宿主机端口则可以任意指定,一般与容器内保持一致。

    • 格式: -p 宿主机端口:容器内端口,示例中就是将宿主机的3306映射到容器内的3306端口

  • -e TZ=Asia/Shanghai : 配置容器内进程运行时的一些参数

    • 格式:-e KEY=VALUE,KEY和VALUE都由容器内进程决定

    • 案例中,TZ=Asia/Shanghai是设置时区;MYSQL_ROOT_PASSWORD=123是设置MySQL默认密码

  • mysql : 设置镜像名称,Docker会根据这个名字搜索并下载镜像

    • 格式:REPOSITORY:TAG,例如mysql:8.0,其中REPOSITORY可以理解为镜像名,TAG是版本号

    • 在未指定TAG的情况下,默认是最新版本,也就是mysql:latest

相关概念的介绍(来自黑马程序员):

当我们利用Docker安装应用时,Docker会自动搜索并下载应用镜像(image)。镜像不仅包含应用本身,还包含应用运行所需要的环境、配置、系统函数库。Docker会在运行镜像时创建一个隔离环境,称为容器(container)。 

3.2 宿主机连接MySQL

3.2.1 设置MySQL自启动

先启动MySQL:

sudo docker start mysql

再设置自启动:

sudo docker update mysql --restart=always

3.2.2 查看Linux的IP地址

使用如下指令,如果不能使用请往后看,有解决: 

ifconfig

结果如下:

如果不能执行则使用该命令下载该命令,再执行上述命令:

sudo yum install net-tools -y

 3.2.3 连接

4 最后 

如果还需要部署其它应用,可参考DockerHub官网,如下:

https://hub.docker.com/

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐