1. 安装docker
1.1 使用
1.1.1 根据docker官网安装手册,先卸载
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
1.1.2 安装相关依赖
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
1.1.3 设置仓库
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
1.2 安装docker
sudo yum install docker-ce docker-ce-cli containerd.io
注意:如果报错Public key for docker-ce-cli-19.03.14-3.el7.x86_64.rpm is not installed表示公钥为安装
1)安装公钥:wget https://get.docker.com/gpg --no-check-certificate
如果报wget不存在,那么安装之
2)在执行如下命令:rpmkeys --import ./gpg
然后在安装即可。
1.3. 启动docker
sudo systemctl start docker
1)查看docker版本
2)查看所有的docker镜像
3)设置docker开机自启动
sudo systemctl enable docker
1.4. 为docker配置阿里云镜像加速
1.4.1 登录阿里云账号,点击控制台
1.4.2 进入控制台,找到容器镜像服务
1.4.3 点击镜像加速器
1.4.4 配置镜像加速
在打开的界面中选中需要的Linux版本,如图:
复制下面的命令,执行即可
1)创建目录:sudo mkdir -p /etc/docker
2)配置镜像加速器地址:
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://y3n2m2ra.mirror.aliyuncs.com"]
}
EOF
3)重启docker的后台线程:sudo systemctl daemon-reload
4)重启docker服务:sudo systemctl restart docker
1.5 查看docker中正在运行的容器
docker ps
2. docker安装MySQL
2.1 下载镜像
执行命令:docker pull mysql:5.7
该命令的意思是,下载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 \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:5.7
参数说明:
-p 3306:3306:将容器的3306端口映射到主机的3306端口,也就是访问主机3306端口就能访问到mysql容器的3306端口
-v /mydata/mysql/conf:/etc/mysql:-v表示目录挂载,意思是将配置文件挂载到主机
-v /mydata/mysql/log:/var/log/mysql:将日志文件挂载到主机
-v /mydata/mysql/data:/var/lib/mysql:将配置文件夹挂载到主机
-e MYSQL_ROOT_PASSWORD=root:初始化root用户的密码
-d mysql:5.7:-d表示以后台方式运行;mysql:5.7表示用哪一个镜像启动的,其中5.7是镜像的tag标识
注意:
1)这里的主机指的是Linux系统
2)之所以需要挂载是因为每一个容器都是一个独立的Linux系统,如果不挂在到主机,那么我们需要修改容器的配置就需要进入到容器内部去修改,比较麻烦,所以使用挂载技术,只需要在主机(Linux)下就可以修改容器的相关配置信息了。
例如:
行尾的 \ 表示换行
执行结束之后,如图:
3)以交互模式进入mysql容器内部
docker exec -it + 容器唯一标识(id或者名称都行)
例如:
2.3 链接数据库
接下来可以直接使用虚拟机的ip+3306端口就能连上virtualBox上的虚拟机了,如图;
2.4 重启mysql
sudo docker restart mysql
2.5 修改mysql配置
1)添加配置文件 vi /mydata/mysql/conf/my.cnf
2)配置文件内容
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqId]
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
3)执行docker restart mysql重启mysql即可
2.6 设置mysql自动启动
sudo docker update mysql --restart=always
3. 安装Redis
3.1 下载镜像文件
docker pull redis
3.2 创建实例并启动
1)创建目录:mkdir -p /mydata/redis/conf
2)创建配置文件:touch /mydata/redis/conf/redis.conf
3)执行命令
docker run -p 6379:6379 --name redis \
-v /mydata/redis/data:/data \
-v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf \
-d redis redis-server /etc/redis/redis.conf
使用dicker ps命令检查Redis是否安装成功
3.3 连接docker的Redis客户端
docker exec -it redis redis-cli
3.4 设置Redis可持久化
默认情况下,docker安装的Redis是没有持久化的,Redis关闭之后数据就丢失了,我们可以配置其可持久化
1)进入conf目录
2)在redis.conf配置文件中添加如下配置内容
appendonly yes
3)重启redis即可
注意:redis的其他配置可以参考redis官方文档。
3.5 设置redis自动启动
sudo docker update redis --restart=always