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 重启时,容器能自动启动。