docker 创建mysql和redis

 

1      镜像加速

创建docker 目录

sudo mkdir -p /etc/docker

 

镜像加速:

sudo tee /etc/docker/daemon.json <<-'EOF'

{

  "registry-mirrors": ["https://l9obl5ce.mirror.aliyuncs.com"]

}

EOF

 

重新加载docker:

sudo systemctl daemon-reload

 

重启:

sudo systemctl restart docker

 

2      更改docker api版本

错误提示:

Error response from daemon: client version 1.40 is too new. Maximum supported API version is 1.39

 

解决方法:

export DOCKER_API_VERSION=1.39

 

3      创建mysql docker

3.1    下载镜像

默认下载最新版:

docker pull mysql

 

下载指定版本:

docker pull mysql:5.7

 

3.2    创建mysql 容器映射目录

mkdir -p /opt/mysql/data /opt/mysql/conf /opt/mysql/log

 

/opt/mysql/data : 挂载数据文件
/opt/mysql/conf:挂载配置文件

/opt/mysql/log : 挂载日志文件

 

 

 

3.3    创建映射配置文件

vi /opt/mysql/conf/mysql.cnf

 

[mysqld]
user=root
character-set-server=utf8
default_authentication_plugin=mysql_native_password
sql_mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
lower_case_table_names=1 #忽略表名大小写
 
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8

 

3.4    创建mysql实例:

docker run -p 3306:3306  --name mysqlb -v /opt/mysql/data:/var/lib/mysql -v /opt/mysql/conf:/etc/mysql -v /opt/mysql/log:/var/log -e MYSQL_ROOT_PASSWORD=123456 -d mysql

 

-p 3306:3306:将容器的3306端口映射到主机的3306端口
-e MYSQL_ROOT_PASSWORD=123456:初始化root用户的密码
-d: 后台运行容器,并返回容器ID
 

3.5    查看容器状态

docker ps -a 

status 为exitted (挂载文件启命令可能有问题)

 

 

 

3.6    创建mysql实例第二方式,(状态正常)

docker run -i -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql

docker run -p 3306:3306  --name mysqld -e MYSQL_ROOT_PASSWORD=123456 mysql

 

 

 

 

3.7    进入docker msql容器中

docker exec -it mysqld /bin/bash

 

 

3.8    重启docker mysql

docker restart mysqld

 

3.9   查看docker 日志

docker logs [id]

如:

docker logs mysqld

 

 

4      docker 创建redis

4.1    下载镜像

docker pull redis

 

4.2    创建映射配置文件

mkdir -p /opt/redis/conf

touch /opt/redis/conf/redis.conf

 

4.3    创建redis实例

docker run -p 6379:6379 --name redisa -v /opt/redis/data:/data -v /opt/redis/conf/redis.conf:/etc/redis/redis.conf -d redis redis-server /etc/redis/redis.conf

 

4.4    查看redis实例状态

docker ps -a

 

 

4.5    测试redis是否可用

docker exec -it redisa redis-cli

 

 

 

4.6    redis的持久化配置

vi /opt/redis/conf/redis.conf

appendonly yes

posted @ 2020-05-22 00:35  pandaly  阅读(496)  评论(1编辑  收藏  举报