一、Docker的安装和配置

1.1 去docker官网,选择Developers–—》Docs

1.2 选择Download and Install

1.3 选择 Linux

1.4 选择centos

1.5 依次根据里面提示的内容进行安装和启动

1.5.1 先卸载安装过的旧版本
sudo yum remove docker \
                 docker-client \
                 docker-client-latest \
                 docker-common \
                 docker-latest \
                 docker-latest-logrotate \
                 docker-logrotate \
                 docker-engine
1.5.2 安装一些依赖的包
sudo yum install -y yum-utils
sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo
1.5.3 安装docker引擎
sudo yum install docker-ce docker-ce-cli containerd.io
1.5.4 启动docker
sudo systemctl start docker
1.5.5 设置docker开机自启动
sudo systemctl enable docker
1.5.6 配置docker的阿里云加速启动

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://xp4abd48.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

把上述的复制粘贴到自己的服务器上,就可以让自己的docker拥有阿里云的加速镜像服务了。

二、Docker拉取镜像和启动容器

2.1 拉取mysql5.7和启动mysql5.7容器

2.1.1 先拉取,再用docker images检查是否成功
docker pull mysql:5.7

启动mysql

sudo docker run -p 3307: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

第一行命令:把主机的3306端口映射到了容器的3306端口

第二行命令:把容器的log日志目录/var/log/mysql挂载到了主机的/mydata/mysql/log

第三行命令:把容器的mysql存储的数据/var/lib/mysql挂载到了主机的/mydata/mysql/data

第四行命令:把容器的配置文件/etc/mysql 挂载到了主机的/mydata/mysql/conf

第五行命令:更改mysql的密码

第六行命令:选取容器的镜像

阿里云服务器如果上述完成以后使用命令docker ps 看不到 镜像启动 可以参照这篇博文 [https://blog.csdn.net/qq_41999034/article/details/106162366]

这个就是网上解决阿里云服务器使用docker 运行mysql的时候遇到的问题以及解决办法

2.1.2 修改mysql的配置文件
cd /mydata/
ls
cd mysql/
cd conf/
sudo vim 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

docker restart mysql

在这里一般阿里云服务器会遇到mysql不让远程连接,因此要设置

设置mysql的配置文件,先设置跳过密码登陆

skip-grant-tables 

​ 设置完了之后要重启

docker restart mysql

然后以交互式的方式进入

docker exec -it mysql /bin/bash

登陆更改

mysql -u root -p

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
FLUSH   PRIVILEGES;

exit;

2.2 拉取redis镜像和启动redis

docker pull redis
mkdir  mkdir -p /mydata/redis/conf

touch /mydata/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的配置文件/mydata/redis/conf/redis.conf中去配置数据库持久化,内容为

appendonly yes

操作步骤

cd /mydata/redis

cd conf/

vim redis.conf

docker restart redis

docker exec -it redis redis-cli

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐