Docker环境搭建
安装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
安装yum-utils包(它提供yum-config-manager实用程序)并设置存储库。
sudo yum install -y yum-utils
# 官方yum源
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
# 阿里云yum源
sudo yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
安装 docker,以及 docker-cli
sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
3、启动 docker
sudo systemctl start docker
4、设置 docker 开机自启
sudo systemctl enable docker
5、测试 docker 常用命令,注意切换到 root 用户下 su root,密码 root
查看版本号
$ docker -v
查看镜像文件
$ docker images
启动docker
$ sudo systemctl start docker
查看启动进程
$ docker ps
设置开机自启
$ sudo systemctl enable docker
重启镜像文件
$ docker restart mysql
$ docker restart redis
设置docker镜像自动启动
$ docker update redis --restart=always
$ docker update mysql --restart=always
进入镜像内部控制台
$ docker exec -it mysql /bin/bash
启动docker
$ systemctl start docker
守护进程重启
$ sudo systemctl daemon-reload
重启docker服务
$ systemctl restart docker
重启docker服务
$ sudo service docker restart
关闭docker
$ service docker stop
关闭docker
$ systemctl stop docker
6、配置 docker 镜像加速
阿里云,容器镜像服务
针对 Docker 客户端版本大于 1.10.0 的用户
您可以通过修改 daemon 配置文件/etc/docker/daemon.json 来使用加速器
# 创建 docker 目录
sudo mkdir -p /etc/docker
# 修改 daemon.json 文件,在文件末尾添加指定的内容。
# 注意,该 json 数据中的 URL 地址是与用户登录账号绑定的,不同的用户所生成的地址是不同的。
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://**efyvnhk5.mirror.aliyuncs.com"]
}
EOF
# 重新加载服务配置文件
sudo systemctl daemon-reload
# 重启 docker 引擎
sudo systemctl restart docker
docker 服务开机自启动命令
systemctl enable docker.service
关闭docker 服务开机自启动命令
systemctl disable docker.service
docker 安装 MySQL
1、下载镜像文件
docker pull mysql:5.7
2、创建实例并启动
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/conf:/etc/mysql:将配置文件夹挂载到主机
-v /mydata/mysql/log:/var/log/mysql:将日志文件夹挂载到主机
-v /mydata/mysql/data:/var/lib/mysql/:将配置文件夹挂载到主机
-e MYSQL_ROOT_PASSWORD=root:初始化 root 用户的密码
-d mysql:5.7:后台方式运行镜像
3、进入mysql的docker所属容器内部
# 查看镜像文件
$ docker images
# 查看启动进程
$ docker ps
# 查看对应镜像内部
$ docker exec -it mysql /bin/bash
# 进入镜像内部查看相关的文件夹
$ whereis mysql
# 退出镜像内部
$ exit
4、MySQL 配置
创建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:跳过域名解析
4、通过容器的 mysql 命令行工具连接
docker exec -it mysql mysql -uroot -proot
5、设置 root 远程访问
grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option;
flush privileges;
6、进入容器文件系统
docker exec -it mysql /bin/bash
docker 安装 Redis
1、下载镜像文件
docker pull redis
2、创建实例并启动
# 默认没有这如下文件夹和文件,需要创建
$ mkdir -p /mydata/redis/conf
$ touch /mydata/redis/conf/redis.conf
#启动redis服务
$ 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
参数说明:
-p 6379:6379:端口映射
-v /mydata/redis/data:/data:将数据文件夹挂载到主机
-v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf:将配置文件挂载到主机
-d redis redis-server /etc/redis/redis.conf:启动的时候redis-server 加载redis.conf配置文件
查看Redis是否启动
docker ps
redis 自描述文件: redis.conf
3、使用 redis 镜像执行 redis-cli 命令连接
docker exec -it redis redis-cli
创建并修改Redis配置文件
cat /mydata/redis/conf/redis.conf
如果数据没有持久化,需配置
vi /mydata/redis/conf/redis.conf
开启Redis持久化配置
appendonly yes
4、删除redis
-
停止redis
执行quit指令后再次执行exit指令,退出redis -
通过 docker ps 或 docker ps -a 命令查看容器的运行信息
docker ps 或者 docker ps -a -
先删除容器,删除前我们需要先停止容器,否则会提示错误,停止容器执行以下指令:
停止容器 :docker stop names/ContainerId
删除容器 :docker rm names/ContainerId
-
再删除镜像
docker rmi repository/imageId
-
最后查看是否存在redis 查看是否有redis镜像
docker search redis
docker images
5、配置docker默认启动容器
docker update --restart=always 容器名称
docker默认启动容器mysql和redis
docker update --restart=always mysql
docker update --restart=always redis