dnmp如何在启动的时候也启动起手动安装的容器
1. 问题描述#
因为使用 golang
开发微服务需要使用 etcd
和 etcd-keeper
,所以在 /dnmp/docker-compose.yml 文件中加入:
...
etcd:
hostname: etcd
container_name: etcd
image: bitnami/etcd:3
deploy:
replicas: 1
restart_policy:
condition: on-failure
# ports:
# - "2379:2379"
# - "2380:2380"
# - "4001:4001"
# - "7001:7001"
privileged: true
volumes:
# - "/docker/compose/etcd/data:/bitnami/etcd/data:rw"
- ${DATA_DIR}/etcd:/data/:rw
environment:
- "ETCD_ADVERTISE_CLIENT_URLS=http://0.0.0.0:2379"
- "ETCD_LISTEN_CLIENT_URLS=http://0.0.0.0:2379"
- "ETCD_LISTEN_PEER_URLS=http://0.0.0.0:2380"
- "ETCD_INITIAL_ADVERTISE_PEER_URLS=http://0.0.0.0:2380"
#参数指不用密码可以连接
- "ALLOW_NONE_AUTHENTICATION=yes"
- "ETCD_INITIAL_CLUSTER=node1=http://0.0.0.0:2380"
- "ETCD_NAME=node1"
- "ETCD_DATA_DIR=/opt/bitnami/etcd/data"
ports:
- 2379:2379
- 2380:2380
# networks:
# - etcdnet
etcd-keeper:
image: evildecay/etcdkeeper
container_name: etcd-keeper
ports:
- 8090:8080
environment:
- ETCD_SERVERS=http://0.0.0.0:2379
使用指令成功构建容器:
docker-compose build xxx
但是每次启动 docker-desktop
的时候默认系统自带的 php 相关(多版本),mysql 相关(多版本),nginx 等容器是默认启动的。但是手动安装的两个容器 etcd
和 etcd-keeper
默认就是关闭的状态,每次开启的时候就需要手动去操作。
3. 您期望得到的结果?#
问题一:如何在启动 docker-desktop 的时候启动手动安装的容器?是否是需要像 dnmp
自带的默认容器一样,需要在文件夹下进行配置?
问题二:日常开发,如果我需要进行 golang 的开发,是否直接安装 golang
的相关容器,进行部署即可?
推荐文章: