预备工作

为了Docker下其他容器能够从内部网络访问数据库,因此要建立一个docker network。

新建Docker网络
1
docker network create --subnet=10.88.0.0/16 --gateway=10.88.0.1 --opt "com.docker.network.bridge.name"="bifrost" bifrost

info 注释

docker network create:用于创建一个新的网络连接。
--driver bridge 表示使用桥接模式
--subnet 10.88.0.0/16 表示子网ip 可以分配 10.88.0.2 到 10.88.0.255
--gateway 10.88.0.1 表示网关
bifrost 表示网络名

编写docker-compose.yml

docker run的方式可以方便的启动运行容器,但是经常需要自定义一些参数,时间长了就会忘记怎么写的,不如通过docker-compose.yml建立容器,即便关闭了也能方便重建。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
version: '3.9'
services:
db:
container_name: pg_container
image: postgres:latest
restart: always
environment:
POSTGRES_USER: admin # 用户名
POSTGRES_PASSWORD: admin # 用户密码
POSTGRES_DB: postgres
PGDATA: /data/postgresql
volumes:
- pgdata:/data/postgresql
ports:
- "5432:5432"
networks:
- bifrost
pgadmin:
container_name: pgadmin_container
image: dpage/pgadmin4:latest
restart: always
environment:
PGADMIN_DEFAULT_EMAIL: [email protected]
PGADMIN_DEFAULT_PASSWORD: admin
volumes:
- pgadmin:/home/rundeck/server/data
ports:
- "5050:80"
networks:
#- default
- bifrost
volumes:
pgdata:
driver: local
name: pgdata
pgadmin:
driver: local
name: pgadmin
networks:
bifrost:
external: true
name: bifrost

启动容器

启动容器,并保持在后台运行。

启动容器
1
docker compose up -d

停止容器

简单停止容器

停止容器
1
docker compose down

简单停止容器,并清除数据卷的内容。

停止容器
1
docker compose down -v