本文是基于CentOS Linux release 7.6.1810 (Core) 操作的,属于简易安装,只适应于开发使用.
搭建有 consul mysql rabbitmq redis 服务.
安装docker
sudo yum install docker-ce docker-ce-cli containerd.io
完成后,查询安装的版本
[root@distr network-scripts]# docker -v
Docker version 18.09.4, build d14af54266
安装完成后,可以做一些出来,便于操作,比如 用普通用户运行docker 命令 配置自启动 等
参考 https://docs.docker.com/install/linux/linux-postinstall/ (个人认为这个文档已经很好,无需解读)
修改docker源
为了加速下载镜像,使用国内的源
vi /etc/docker/daemon.json
{
"registry-mirrors": ["https://registry.docker-cn.com"]
}
将用户加入docker 组
示例为将dev 加入到docker组.加入后请退出重新进入. 本步目的避免无权限
usermod -a -G docker dev
启动Docker
sudo systemctl start docker
Redis
docker pull redis
docker run -d -p 6379:6379 --name dev-redis redis
Consul
docker pull consul
docker run -d --name=dev-consul --net=host consul
或者使用如下命令启动
docker run -d --name=dev-consul -e CONSUL_BIND_INTERFACE=ens192 --net=host consul
表示绑定到宿主机的网卡上的ip地址上, ens192 是宿主机的网口
成功后,可访问 http://ip:8500 登陆控制台.
如果访问不成功,可能是防火墙上没打开端口,在主机上执行:
curl http://ip:8500/ui/
如果正常响应,那就需要在防火墙上打开端口,centos7 需要执行如下命令:
firewall-cmd --zone=public --add-port=8500/tcp --permanent
firewall-cmd --reload
rabbitmq
docker pull rabbitmq
docker run -d --hostname my-rabbit --name=dev-rabbit -p 5672:5672 -p 15672:15672 rabbitmq:3-management
进入dev-rabbit 容器,
docker exec -it a3fd77f6a0f2 /bin/bash
a3fd77f6a0f2 是容器的ID 使用命令docker ps 查看
增加一些用户和权限
rabbitmqctl list_users
rabbitmqctl add_user admin cabletech
rabbitmqctl set_user_tags admin management
rabbitmqctl list_vhosts
rabbitmqctl add_user user01 cabletech
rabbitmqctl set_user_tags user01 administrator
rabbitmqctl set_permissions -p / user01 ".*" ".*" ".*"
成功后, 通过http://ip:15672 可登陆管理控制台
Mysql
docker pull mysql
docker run -d --name dev-mysql -e MYSQL_ROOT_PASSWORD=cabletech -p :3306:3306 mysql:latest
MySQL的版本是 mysqld 8.0.15 连接时需要新驱动
其它命令
docker network ls
docker ps -a
docker images
docker logs dev-mysql 查看日志
参考资料:
https://docs.docker.com/engine/reference/commandline/run/