Docker 操作
卸载系统之前的 Docker
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
安装下载工具包
sudo yum install -y yum-utils
配置镜像
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
安装下载Docker
sudo yum install docker-ce docker-ce-cli containerd.io
启动Docker
sudo systemctl start docker
设置开机自启动
sudo systemctl enable docker
查看 Docker 版本
docker -v
查看 Docker 镜像
sudo docker images
删除 Docker 镜像
docker rmi xxx
查看 Docker 运行的容器
docker ps
查看 Docker 的容器
docker ps -a
停止 Docker 的容器
docker stop xxx
删除 Docker 的容器
docker rm xxx
配置镜像加速
创建目录
sudo mkdir -p /etc/docker
跟换 Dokcer 的镜像源
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://chqac97z.mirror.aliyuncs.com"]
}
EOF
加载新的 配置文件
sudo systemctl daemon-reload
重启Docker
sudo systemctl restart docker
安装 MySQL
拉取 MySQL
sudo docker pull mysql:5.7
运行 MySQL
- –name 指定容器名字
- -v 目录挂载
- -p 指定端口映射 , 将容器的3306端口映射到主机的3306端口
- -e 设置mysql参数 MYSQL_ROOT_PASSWORD : 初始化root用户的密码为
- -d 后台运行
sudo 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=cpucode \
-d mysql:5.7
进入 MySQL
docker exec -it mysql bin/bash
退出
exit
因为有目录映射,所以我们可以直接在镜像外执行
vi 修改配置文件
vi /mydata/mysql/conf/my.conf
设置MySQL 参数
[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
Dokcer 重启 MySQL 服务
docker restart mysql
设置 随docker启动自动运行
docker update mysql --restart=always
安装 Redis
创建redis配置文件目录
创建文件夹
mkdir -p /mydata/redis/conf
创建配置文件
touch /mydata/redis/conf/redis.conf
拉取 Redis 镜像
docker pull redis
启动 Redis
- –name 指定容器名字
- -v 目录挂载
- -p 指定端口映射
- -d 后台运行
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
设置AOF持久化
vim /mydata/redis/conf/redis.conf
插入AOF 持久化设置
appendonly yes
重启Redis
docker restart redis
设置 随 Docker 启动自动运行
docker update redis --restart=always
进去 Redis 客户端
docker exec -it redis redis-cli
安装 Nginx
拉取 Nginx
docker pull nginx
启动一个nginx实例
docker run -p 80:80 --name nginx -d nginx
复制出配置,放到docker里作为镜像的统一配置
cd /mydata/nginx
docker container cp nginx:/etc/nginx .
然后在外部 /mydata/nginx/nginx 有了一堆文件
mv /mydata/nginx/nginx /mydata/nginx/conf
停掉nginx
docker stop nginx
删除 nginx 容器
docker rm nginx
创建新的nginx
docker run -p 80:80 \
--name nginx \
-v /mydata/nginx/html:/usr/share/nginx/html \
-v /mydata/nginx/logs:/var/log/nginx \
-v /mydata/nginx/conf:/etc/nginx \
-d nginx
注意一下这个路径映射到了/usr/share/nginx/html,我们在nginx配置文件中是
写/usr/share/nginx/html,不是写/mydata/nginx/html
docker update nginx --restart=always
cd /mydata/nginx/html/
vim index.html
随便写写
测试 http://192.168.56.10:80