docker一种虚拟化容器技术,docker基于镜像,可以秒级启动各种容器,每一中容器都是一个完整的运行环境,容器之间相互隔离。
官方网站 https://hub.docker.com
docker安装:
1、 卸载之前的版本
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
2、 设置存储库
1)在首次安装 Docker 引擎之前,您需要设置 Docker 存储库。之后,可以从存储库安装和更新 Docker
2)安装包(提供实用程序)并设置稳定的存储库
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
3、 安装Docker 引擎和容器
安装最新版本的Docker 引擎和容器,或转到下一步以安装特定版本
sudo yum install docker-ce docker-ce-cli containerd.io
4、 启动 Docker
sudo systemctl start docker
5、检查Docker
docker -v // 检查docker版本
sudo docker images // 检查当前docker下载那些镜像
6、Docker 开机自启动设置
sudo systemctl enable docker
7、配置镜像加速器
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://00ebm9so.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
docker 安装mysql 5.7:
1、 安装mysql镜像
提示:切换root用户 su root
docker pull mysql:5.7
2、 创建dockers容器并启动
docker run -p 3306:3306 --name mysql \ // linux系统与单一独立docker容器端口映射
-v /mydata/mysql/log:/var/log/mysql \ // linux系统与单一独立docker容器日志挂载
-v /mydata/mysql/data:/var/lib/mysql \ // linux系统与单一独立docker容器数据文件挂载
-v /mydata/mysql/conf:/etc/mysql \ // linux系统与单一独立docker容器配置文件挂载
-e MYSQL_ROOT_PASSWORD=root \ // 初始化用户名和密码
-d mysql:5.7
3、 查看启动的docker容器
docker ps
4、 进入mysql独立的docker容器的控制台
提示:会发现容器有完整的linux目录结构,即可说明此容器是独立完整的运行环境
docker exec -it mysql /bin/bash
查找该容器中mysql安装目录
whereis mysql
退出当前容器
exit
5、配置编码格式为UTF-8 ,因为mysql自身编码为GBK
配置文件内容如下:
[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
修改步骤:
在 /mydata/mysql/conf/下创建my.cnf 文件
vi /mydata/mysql/conf/my.cnf
按 i 进入插入模式,将文件内容复制进去
按 ESC 退出编辑状态
按 shift + :
按 wq 退出并保存
按 w 保存不退出文件
按 q 不保存退出文件
注意:删除文件 rm -f my.cnf
通过单个容器交互模式查看该容器中的配置文件有没有同步变更:
docker exec -it mysql /bin/bash
cd /etc/mysql
cat my.cnf
6、重启mysql容器
docker restart mysql