centos7下docker-ce19.03.2搭建本地开发环境(mysql5.7,RabbitMQ3.7.7-management,redis5.0.5)
yum remove docker docker-common docker-selinux docker-engine -- 卸载旧版本
yum install -y yum-utils device-mapper-persistent-data lvm2 -- 安装需要的软件包,yum-util提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo -- 设置yum源
yum list docker-ce --showduplicates | sort -r -- 查看所有仓库中所有docker版本
yum install docker-ce -y -- 下载最新版稳定docker
systemctl start docker
systemctl enable docker -- 开机自启
docker version -- 查看docker版本
免sudo使用docker命令
sudo groupadd docker
sudo gpasswd -a ${USER} docker
newgrp - docker
镜像加速( 阿里云-> 打开网址:https://cr.console.aliyun.com/#/accelerator 注册、登录、设置密码 https://xxxxxxxxx.mirror.aliyuncs.com)
"https://hub.daocloud.io/"
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://xxxxxxxxx.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
mysql 5.7 docker安装:
docker search mysql -- dockerhub搜索mysql相关镜像
docker tag centos/mysql-57-centos7 mysql:5.7
docker run -it --rm mysql:5.7 --verbose --help
docker run --name mysql-test -p3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7 -- 启动测试mysql容器
docker exec -it mysql-test bash -- 命令行进入
find / -name my.cnf
docker logs mysql-test -- 查看容器日志文件
获取镜像中的路径(通过dockerhub文档获取镜像配置路径):
msyql配置文件路径: /etc/mysql/conf.d
mysql数据卷路径: /var/lib/mysql
自己定义本地(宿主机)路径:
mysql配置文件路径: /usr/docker/mysql/conf
mysql数据卷路径: /usr/docker/mysql/data
tee /usr/docker/mysql/conf/my.cnf <<-'EOF'
[mysqld]
default_password_lifetime=0
lower_case_table_names=1
character_set_server=utf8
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
EOF
docker run -d -p 3306:3306 --restart=always --privileged=true -v /usr/docker/mysql/conf/my.cnf:/etc/mysql/my.cnf -v /usr/docker/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name mysql mysql:5.7
--restart=always 跟随docker启动
--privileged=true 容器root用户享有主机root用户权限
-v 映射主机路径到容器
-e MYSQL_ROOT_PASSWORD=root 设置root用户密码
-d 后台启动
--lower_case_table_names=1 设置表名参数名等忽略大小写
docker exec -it mysql bash -- 进入容器
grant all privileges on *.* to 'pritest'@'%' identified by '123456' -- 修改外网登录权限
RabbitMQ docker安装:
创建目录:
/usr/docker/rabbitmq/data
docker pull rabbitmq:3.7.7-management
docker run -d --restart=always --privileged=true -p 5672:5672 -p 15672:15672 -v /usr/docker/rabbitmq/data:/var/lib/rabbitmq --hostname myRabbit -e RABBITMQ_DEFAULT_VHOST=my_vhost -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin --name rabbitmq rabbitmq:3.7.7-management
http://127.0.0.0:19950
docker logs myrabbitmq -- 查看启动日志
docker exec -it rabbitmq bash -- 进入容器
redis docker安装:
创建redis本地目录
/usr/docker/redis/conf
/usr/docker/redis/data
在/usr/docker/redis/conf下创建redis.conf (https://github.com/antirez/redis/tags 在此获取对应本部的配置文件
docker pull redis -- redis5.0.5
镜像中的对应文件:
/etc/redis/redis.conf
/data
docker run -d --restart=always --privileged=true -p 6379:6379 -v /usr/docker/redis/conf/redis.conf:/etc/redis/redis.conf -v /usr/docker/redis/data:/data --name myredis redis
docker exec -it myredis bash --进入容器调式
修改本地文件/usr/docker/redis/conf/redis.conf,查找配置项,修改配置文件:(登录密码,外网访问)
requirepass 123456
#bind 127.0.0.1
protected-mode yes
docker restart redis463 -- 重启生效