Docker安装以及Docker安装mysql、redis详细教学

3 篇文章 0 订阅
2 篇文章 0 订阅

一、安装Docker

  1. 参照官方参考文档安装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

不装yum-utils貌似也行

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

在这里插入图片描述

sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

只安装docker-ce就可以

  1. 启动docker
sudo systemctl start docker
  1. 判断docker安装是否成功
    不加sudo会报无权限
sudo docker images
  1. 设置docker开机自启
sudo systemctl enable docker

在这里插入图片描述

  1. 配置镜像加速:登录阿里云账号,搜索容器镜像服务ACR
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://1cm7d4hw.mirror.aliyuncs.com"] 
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

1.1 docker常用命令

一、服务相关
systemctl start docker 
stop、restart、status
二、镜像相关
docker images  查看本地镜像
docker search redis  搜索dokerhub上的镜像,这里以redis为例
docker pull redis  拉取远程最新版本镜像  hub.docker.com
docker pull redis:5.0  拉取指定版本镜像
docker rmi 【imageId】  删除指定id的镜像
docker images -q  查看所有镜像ID
docker rmi `docker images -q`  删除所有镜像
三、容器相关
docker run -it --name=【容器名称】 【镜像】:【版本】 /bin/bash  创建容器并进入到容器内部
docker ps  查看正在运行的容器
docker ps -a  查看所有容器

docker exec -it 【容器名称】 /bin/bash  进入容器
docker start 【容器名称】  启动容器
docker stop 【容器名称】  停止容器
docker rm 【容器ID/容器名称】  删除容器
docker ps -aq  查看所有容器ID
docker rm `docker ps -aq`  删除所有容器
docker inspect 【容器名称】  查看容器信息

1.2 自定义安装docker版本

1.2.1 官方文档对安装指定版本的描述不太对

在这里插入图片描述
查看docker版本列表

yum list docker-ce --showduplicates | sort -r

安装示例

sudo yum install docker-ce-24.0.0 docker-ce-cli-24.0.0 containerd.io docker-buildx-plugin docker-compose-plugin
1.2.2 docker-ce-cli与docker-buildx-plugin冲突问题

docker-buildx-plugin是在19.03版本才引入的,20.10前,它属于docker-ce-cli的一部分,20.10及以后,docker-buildx-plugin从docker-ce-cli中分离出来
当Docker < 20.10,不能包含docker-buildx-plugin

sudo yum install docker-ce-19.03.9 docker-ce-cli-19.03.9 containerd.io docker-compose-plugin

当Docker >= 20.10,可以包含docker-buildx-plugin

sudo yum install docker-ce-24.0.0 docker-ce-cli-24.0.0 containerd.io docker-buildx-plugin docker-compose-plugin

1.3 Docker卸载

官方文档卸载教程

sudo yum remove docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd

二、安装mysql5.7

  1. 拉取镜像
sudo docker pull mysql:5.7
  1. 创建容器及完成挂载
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
  1. 判断是否安装完成
docker ps -a
  1. 安装成功,修改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
  1. 使用工具如navicat测试连接mysql,连接前需要先在安全组开放端口,开放为仅自己可连接!
  • 若开放为大家都可以访问可能数据库会被黑,刚接触服务器的时候不懂,我的数据库就被黑过一次😂
  1. 进入mysql容器控制台
docker exec -it mysql /bin/bash
  1. 如果mysql启动失败可以查看日记检查错误
docker logs mysql
  1. 删除容器
docker rm mysql
  1. 设置mysql自动启动
sudo docker update mysql --restart=always

三、安装redis

  1. 拉取最新版redis镜像
docker pull redis
  1. 预先创建redis配置文件,避免挂载的时候/etc/redis/redis.conf被识别成创建文件夹
mkdir -p /mydata/redis/conf
touch /mydata/redis/conf/redis.conf
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
  1. 检查是否安装成功
docker ps
  1. 此命令为进入redis命令行,不是进入控制台
docker exec -it redis redis-cli
  1. 老版redis默认没配置持久化,重启redis的时候,数据会消失;2023.6.11我安装的redis默认是有持久化的
cd /mydata/redis/conf

开启aof持久化

vi redis.conf
appendonly=yes

持久化及更多相关配置可以参考redis官方配置文档

  1. 重启redis
docker restart redis
  1. 设置开机自启与mysql的设置一样
sudo docker update redis --restart=always
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值