提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章搬运位置 看这里!!!
一、Docker安装
- 卸载旧版本
yum -y remove docker docker-common docker-selinux docker-engine
2. 安装需要的软件包
yum install -y yum-utils device-mapper-persistent-data lvm2
- 设置稳定的镜像仓库
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
4. 更新yum软件包索引
yum makecache fast
- 安装免费版的docker-ce
yum -y install docker-ce
- 启动docker
systemctl start docker
- 测试
查看docker版本
docker version
- 配置阿里云镜像加速
登录 -》 控制台 -》 容器镜像服务 -》镜像加速器
配置方式:
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://rxcox20n.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
运行hello world案例:
docker run hello-world
二、数据卷
Docker容器产生的数据,如果不通过docker commit生成新的镜像,使得数据做为镜像的一部分保存下来,那么当容器删除后,数据自然也就没有了。为了能保存数据在docker中我们使用卷。简单来说,容器卷就相当于Redis中持久化方式的RDB和AOF。
卷即文件夹,可以挂在到一个或多个容器中,起到持久化的作用。添加卷之后,在宿主机中修改也会同步到容器当中。
添加数据卷的命令:
docker run -it -v /宿主机绝对路径:/容器内目录 镜像名
三、Docker中安装MySQL
- 拉取镜像
docker pull mysql:5.6
- 查看本地镜像
docker images
3. 启动容器,配置挂载卷
docker run -p 3306:3306 --name mysql -v /root/mysql/conf:/etc/mysql/conf.d -v /root/mysql/logs:/logs -v /root/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.6
参数说明:
-p 12345:3306:将主机的12345端口映射到docker容器的3306端口。
–name mysql:运行服务名字
-v /root/mysql/conf:/etc/mysql/conf.d :将主机/root/mysql录下的conf/my.cnf 挂载到容器的 /etc/mysql/conf.d
-v /root/mysql/logs:/logs:将主机/root/mysql目录下的 logs 目录挂载到容器的 /logs。
-v /root/mysql/data:/var/lib/mysql :将主机/root/mysql目录下的data目录挂载到容器的 /var/lib/mysql
-e MYSQL_ROOT_PASSWORD=123456:初始化 root 用户的密码。
-d mysql:5.6 : 后台程序运行mysql5.6
- 查看容器
docker ps
5. 进入容器,访问mysql
docker exec -it 容器编号 /bin/bash