1 给虚拟机安装docker
卸载旧的docker,连接上虚拟机并切换当前用户为root用户执行如下命令删除旧的docker
sudo yum remove docker\docker-client\docker-client-latest\docker-common\docker-latest\docker-latest-logrotate\docker-logrotate\docker-engine
设置docker安装的仓库执行如下的命令:
yum install-yyum-utils
yum-config-manager\--add-repo\https://download.docker.com/linux/centos/docker-ce.repo
执行如下安装docker的命令
yum install docker-ce docker-ce-cli containerd.io
安装完成启动docker:
systemctl start docker
docker -v:检查docker的版本号
docker images:查看docker安装的镜像
设置docker开机自动启动:
systemctl enable docker
为docker配置国内的镜像加速器:
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://6dfzn93r.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
使用docker安装mysql:
docker pull mysql:5.7
下载完mysql的镜像之后,创建mysql实例并且启动,并设置目录的挂载映射
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端口
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql \
分别将mysql的日志文件,配置文件,数据文件挂载到主机
-e MYSQL_ROOT_PASSWORD=root 初始化root用户的密码
-d mysql:5.7 后台运行,mysql:5.7表示以哪个镜像运行
docker ps:查看当前运行的镜像
修改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
修改完之后重启mysql
docker restart mysql
以交互模式进入mysql 容器的bash:
docker exec -it mysql /bin/bash
2 使用docker给虚拟机安装redis,执行如下命令
docker pull redis
创建redis并启动实例
mkdir -p /mydata/redis/conf:在linux系统下创建目录文件夹
touch /mydata/redis/conf/redis.conf:在目录下创建redis.conf文件
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
创建实例并启动redis,设置redis容器的端口6379和linux的6379相互映射,配置redis容器数据存储目录data映射到linux系统目录/mydata/redis/data,映射redis容器配置文件redis.conf映射到linux系统的/mydata/redis/conf/redis.conf,最后配置redis-server启动运行的加载的配置文件是/etc/redis/redis.cnf
docker exec -it redis redis-cli:用redis-cli连接redis