背景
你是否有过这样的困惑?
常常需要本地电脑安装例如Mysql,Redis,RocketMQ,ES,Zookeeper, Nginx,Nacos 等等软件,耗时又费力。
- 每当更换电脑,或者重装系统的时候。
- 每当工作中,需要做些调优或者测试的时候,而这些软件服务一般都是运维或者DBA搭建的,自己甚至没有权限登录到服务器机器上查看,苦恼。
- 每当想学习,却被搭建基础环境折腾,无情的浪费时间。
所以,为了节约时间,我总结了用本地常用软件docker化,实现一键启动。是不是很香?
目标
- 各软件docker服务通过固定IP访问,不能每次重启docker服务IP都变化。
- 本机通过IP直接通信docker容器,而不是通过127.0.0.1 + 端口映射的方式。
- 支持多个服务一键部署,也支持单个服务一键部署。
实现步骤
- 创建 桥取名 app-networkdocker network create –driver bridge –subnet=172.30.1.0/24 –gateway=172.30.1.1 –opt “com.docker.network.bridge.name”=“app-network” app-network 配置docker服务,都桥接到同一 桥app-network上
- 以mysql为例(其它服务类似)version: ‘3.5’ services: db: image: hub.c.163.com/library/mysql:5.7 restart: always container_name: “mysql_5_7” restart: always ports: – 3306:3306 environment: TZ: Asia/Shanghai MYSQL_ROOT_PASSWORD: root #command: volumes: – ./conf.d:/etc/mysql/mysql.conf.d – ./data:/var/lib/mysql networks: default: ipv4_address: 172.30.1.2 networks: default: external: name: app-network 其中: MYSQL_ROOT_PASSWORD 为root用户登录密码,指定IP: 172.30.1.2
- 编写docker-compose.yml文件
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!