前置准备:
1.在linux服务器上安装Docker(我用的腾讯云服务器,搭建起来比较轻松,推荐使用)
1.卸载Docker(如果你的服务器上从未安装过Docker,可跳过此步骤)
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
2.建立仓库并安装Docker引擎
## 安装Docker所需要的一些工具包
sudo yum install -y yum-utils
## 建立Docker仓库 (映射仓库地址)
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
## 添加阿里云镜像源
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
##安装Docker引擎
yum install docker-ce docker-ce-cli containerd.io
3.启动Docker
systemctl start docker
4.一些Docker的常用命令
#查看Docker版本
[root@VM-12-8-centos ~]# docker -v
Docker version 20.10.17, build 100c701
#查看所有的镜像
[root@VM-12-8-centos ~]# docker images
#查看正在运行中的容器
[root@VM-12-8-centos ~]# docker ps
#查看已退出的容器
[root@VM-12-8-centos ~]# docker ps -a
#删除镜像
docker rmi 镜像id
#删除容器
docker rm 容器id
#停止所有的容器
docker stop $(docker ps -a | awk '{ print $1}' | tail -n +2)
#删除所有的容器
docker rm $(docker ps -a | awk '{ print $1}' | tail -n +2)
#删除所有的镜像
docker rmi $(docker images | awk '{print $3}' |tail -n +2)
#卸载docker
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
在Docker安装MYSQL与Redis
安装MYSQL
1.拉取MYSQL镜像
命令 | 描述 |
docker pull mysql | 下载最新版Mysql镜像 (其实此命令就等同于 : docker pull mysql:latest ) |
docker pull mysql:xxx | 下载指定版本的Mysql镜像 (xxx指具体版本号) |
pull下来MYSQL的镜像后,可通过 docker images 查看到镜像信息
2.创建Mysql容器并运行
docker run -d -p 3306:3306 --name mysql -v /mysqldata/mysql/log:/var/log/mysql -v /mysqldata/mysql/data:/var/lib/mysql -v /mysqldata/mysql/conf:/etc/mysql -e MYSQL_ROOT_PASSWORD=root mysql:5.7
参数解析
命令 | 描述 |
docker run | 创建一个新的容器 , 同时运行这个容器 |
--name mysql | 为新创建的容器取名 |
-d | 后台运行 |
-p 3306:3306 | 端口映射:将(后面的)容器端口映射到(前面的)宿主机端口 |
–restart unless-stopped | 容器重启策略 |
-v /mydata/mysql/log:/var/log/mysql | 将容器的日志文件挂载到主机/mydata/mysql/log目录下 |
-v /mydata/mysql/data:/var/lib/mysql | 将容器的持久化数据挂载到主机 /mydata/mysql/data目录下 |
-v /mydata/mysql/conf:/etc/mysql | 将容器的配置文件挂载到主机/mydata/mysql/conf目录下 |
-e MYSQL_ROOT_PASSWORD=root | 设置root用户的密码 |
mysql:5.7 | 启动哪个版本的 mysql (本地镜像的版本) |
\ | shell命令换行符 |
3.查看Mysql是否是运行状态
## 查看正在Docker中运行的容器
[root@iZwz9eox9l8sug58vadx2xZ ~]# docker ps
4.客户端连接
安装Redis
1.拉取Redis镜像并预先创建需要挂载在主机的文件夹
## 拉取Redis镜像
[root@VM-12-8-centos ~]# docker pull redis
##查看拉取下来的镜像
[root@VM-12-8-centos ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
redis latest 7614ae9453d1 8 months ago 113MB
mysql 5.7 c20987f18b13 8 months ago 448MB
#创建本地映射目录用于挂载redis 配置文件和数据文件(便于以后修改配置文件)
[root@VM-12-8-centos ~]# mkdir -p /data/docker/redis/conf/
[root@VM-12-8-centos ~]# mkdir -p /data/docker/redis/data/
#修改文件权限为可编辑 表示所有文件
[root@VM-12-8-centos ~]# chmod -R 777 /data/docker/
2.创建Redis配置文件
1.首先去redis获取对应版本的配置文件redis.conf。
网址:http://download.redis.io/releases/
2.将下载下来的压缩包现在本地解压,并找到redis.conf文件
3.将 redis.conf中的bind 127.0.0.1注释(会导致外部无法连接到reids),daemonize yes注释掉,如果需要redis密码则找到 requirepass 并填上你的密码,修改保存后上传到/data/docker/redis/conf 下
3.创建Redis容器并启动
docker run --restart=always --log-opt max-size=100m --log-opt max-file=2 -p 6379:6379 --name redis -v /data/docker/redis/redis.conf:/etc/redis/redis.conf -v /data/docker/redis/data:/data -d redis redis-server /etc/redis/redis.conf --appendonly yes --requirepass root
命令 | 描述 |
–restart=always | 开机启动 |
–appendonly yes | 开启持久化 |
–requirepass root | 设置密码 |
-v /data/docker/redis/redis.conf:/etc/redis/redis.conf | 将redis的配置文件与/data/docker/redis/redis.conf挂载 |
redis-server /etc/redis/redis.conf | 以配置文件启动redis |
4.查看运行中的容器
5.进入容器测试