我正在参加「掘金·启航计划」
序
要想使用docker,最低成本只需要一台服务器,但还需要在服务器中安装docker环境,使用docker能快捷的搭建诸如mysql、redis的独立服务,服务之间相互独立,避免了多个服务需要多台服务器的弊端等
一 安装docker环境
进入linux服务器
首先执行卸载之前老版本的docker和相关依赖命令
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
安装 yum-utils 软件包(它提供 yum-config-manager 实用程序)并设置存储库
sudo yum install -y yum-utils
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
安装最新版本docker
安装过程需要进行多次的输入 y 选择,请耐心等待
sudo yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin
安装完成启动docker
sudo systemctl start docker
查看docker是否安装成功
docker -v
编辑
更多安装详细可参考docker官方文档 点击直达
二 docker安装mysql
查看mysql在docker中央仓库的各个版本
docker search mysql
编辑
拉取mysql镜像,这里选择官方mysql:5.7版本
注:推荐使用8.0以下的版本,避免出现不可预料的错误导致连接失败
docker pull mysql:5.7
编辑
查看镜像
docker images
编辑
创建mysql容器
docker run \
-p 3306:3306 \
--name mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
-d mysql:5.7
注:MYSQL_ROOT_PASSWORD :设置mysql登录密码 默认账户名为 root
编辑
查看mysql容器
docker ps
构建连接,这里使用Navicat
编辑
编辑
如果连接失败或被拒绝,可能是需要设置远程连接
配置mysql远程连接
进入mysql容器
docker exec -it 容器id/容器名称 bash
输入
mysql -u root -p 并输入运行时的初始化密码
编辑
配置root账号运行远程访问
use mysql; //切换数据库 update user set host='%' where user='root'; //允许root用户远程访问 select user,host from user; //查询 flush privileges; //刷新权限立即生效
三 docker安装redis
1.查看redis各个版本
docker search redis
2.拉取redis最新镜像版本
docker pull redis
3.新建挂载文件
因为 redis 默认配置你会发现只能够本地连接,不能进行远程访问,使用 Redis Desktop Manager连接都会报错,因此需要手动挂载 redis 配置文件
mkdir -p /root/docker/redis/data
mkdir -p /root/docker/redis/conf
4.新建配置文件redis.conf在刚刚新建的/redis/conf文件夹下
vim redis.conf
#redis.conf文件内容
#bind 127.0.0.1 //允许远程连接
protected-mode no
appendonly yes //持久化
requirepass 123456 //密码
slave-read-only no //设置读写权限
5.构建redis容器
docker run --name redis -p 6379:6379 -v /root/docker/redis/data:/data -v /root/docker/redis/conf/redis.conf:/etc/redis/redis.conf -d redis redis-server --appendonly yes
释义说明:
- –name:给容器起一个名
- -p:端口映射 宿主机:容器
- -v:挂载自定义配置 自定义配置:容器内部配置
- -d:后台运行
- redis-server --appendonly yes: 在容器执行redis-server启动命令,并打开redis持久化配置
6.查看redis容器
docker ps
7.查看redis日志
docker logs 容器id
8.使用工具连接redis测试
向前走,不停留