使用 Linux 安装 Docker 环境,并启动数据库,缓存等容器服务
一、安装 docker
Docker 安装文档:https://docs.docker.com/install/linux/docker-ce/centos/
1.1、卸载系统之前的 docker
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
1.2、安装 Docker-CE
# 安装必须的依赖
sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
# 设置 docker repo 的 yum 位置
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
# 安装 docker,以及 docker-cli
sudo yum install docker-ce docker-ce-cli containerd.io
1.3、启动 docker
sudo systemctl start docker
1.4、设置 docker 开机自启
sudo systemctl enable docker
1.5、测试 docker 常用命令
注意切换到 root 用户下
https://docs.docker.com/engine/reference/commandline/docker/
1.6、配置 docker 镜像加速
阿里云,容器镜像服务
针对 Docker 客户端版本大于 1.10.0 的用户
您可以通过修改 daemon 配置文件/etc/docker/daemon.json
来使用加速器
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://82m9ar63.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
二、docker 安装 mysql
2.1、下载镜像文件
docker pull mysql:5.7
2.2、创建实例并启动
docker run -p 3306:3306 --name mysql \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql/conf.d \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:5.7
参数说明
-p 3306:3306:将容器的 3306 端口映射到主机的 3306 端口
-v /mydata/mysql/conf:/etc/mysql/conf.d:将配置文件夹挂载到主机
-v /mydata/mysql/log:/var/log/mysql:将日志文件夹挂载到主机
-v /mydata/mysql/data:/var/lib/mysql/:将配置文件夹挂载到主机
-e MYSQL_ROOT_PASSWORD=root:初始化 root 用户的密码
MySQL 配置
vi /mydata/mysql/conf/my.cnf
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
skip-name-resolve
注意:解决 MySQL 连接慢的问题
在配置文件中加入如下,并重启 mysql[mysqld] skip-name-resolve
解释: skip-name-resolve:跳过域名解析
2.3、通过容器的 mysql 命令行工具连接
docker exec -it mysql mysql -uroot -proot
2.4、设置 root 远程访问
-- identified by 'root用户的密码'
grant all privileges on *