Centos安装docker安装mysql安装redis linux配置docker镜像加速

4 篇文章 0 订阅
4 篇文章 0 订阅

Docker 安装文档

1、卸载系统之前的 docker

sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine

2、安装 Docker-CE

安装必须的依赖

sudo yum install -y yum-utils

设置 docker repo 的 yum 位置

sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

安装 docker,以及 docker-cli

sudo yum install docker-ce docker-ce-cli containerd.io

经过各种折腾,上边的命令死活下不起,直接使用sudo yum install docker,超快就好了,气得我不行。

3、启动 docker

sudo systemctl start docker

4、设置 docker 开机自启

sudo systemctl enable docker

5、docker 常用命令,注意切换到 root 用户下

https://docs.docker.com/engine/reference/commandline/docker/

6、配置 docker 镜像加速

针对Docker客户端版本大于 1.10.0 的用户

您可以通过修改daemon配置文件/etc/docker/daemon.json来使用加速器

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

windows可以参考我另一篇文章:windows10 docker配置阿里云镜像服务加速

使用docker安装mysql

1、下载镜像文件

docker pull mysql:5.7

2、创建实例并启动

docker run -p 3306:3306 --name mysql --privileged=true \
-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

参数说明(冒号前为主机,后为docker容器)

--privileged=true 参考:https://blog.csdn.net/qq_36266711/article/details/80967613
-p 3306:3306:将容器的 3306 端口映射到主机的 3306 端口
-v /mydata/mysql/conf:/etc/mysql:将配置文件夹挂载到主机
-v /mydata/mysql/log:/var/log/mysql:将日志文件夹挂载到主机
-v /mydata/mysql/data:/var/lib/mysql/:将配置文件夹挂载到主机
-e MYSQL_ROOT_PASSWORD=root:初始化 root 用户的密码

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
skip-name-resolve

注意:解决 MySQL 连接慢的问题

在配置文件中加入如下,并重启 mysql
[mysqld]
skip-name-resolve
解释:
skip-name-resolve:跳过域名解析

3、通过容器的 mysql 命令行工具连接

docker exec -it mysql mysql -uroot -proot

4、设置 root 远程访问

grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option;
flush privileges;

然后就可以在windows客户端连接了:
在这里插入图片描述

5、进入容器文件系统

docker exec -it mysql /bin/bash

每个容器都是一个小型的linux系统,进入后可以看到相关目录,可以看到我们刚刚配置的/mydata/mysql/conf/my.cnf在被挂载目录也存在:
在这里插入图片描述

docker 安装 redis

1、下载镜像文件

docker pull redis

2、创建实例并启动

如果要挂载,需要自己先创建redis.conf,因为redis安装默认没有该文件,如果直接挂载它会把该文件创成目录。(发现个秘密,不执行docker pull redis,直接执行下面代码也能运行,docker会自动帮你进行pull)

mkdir -p /mydata/redis/conf
touch /mydata/redis/conf/redis.conf

docker run -p 6379:6379 --name redis --privileged=true \
-v /mydata/redis/data:/data \
-v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf \
-d redis redis-server /etc/redis/redis.conf

redis 自描述文件:https://raw.githubusercontent.com/antirez/redis/4.0/redis.conf

3、使用 redis 镜像执行 redis-cli 命令连接

docker exec -it redis redis-cli

4、配置redis持久化

redis默认是存储在内存的,需要配置一个参数,在/mydata/redis/conf/redis.conf添加:

appendonly yes

然后重启redis:docker restart redis
在这里插入图片描述
可以看到重启后数据依然存在。

设置容器自启动

可在创建容器时加上–restart=always,也可后面更新:
docker update xxx --restart=always
该参数 --restart=always 当 Docker 重启时,容器能自动启动。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值