docker实战 - 安装pgadmin
-
拉取指定版本镜像
docker pull dpage/pgadmin4:6.11 -
配置持久化目录
sudo mkdir /var/lib/pgadmin- 修改所有者为5050,因为pgadmin运行在5050用户上
sudo chown -R 5050:5050 /var/lib/pgadmin - 如果是旧版本升级,需要把原先的数据文件从旧容器拷贝出来,放到里面,再运行镜像挂载
- 修改所有者为5050,因为pgadmin运行在5050用户上
-
运行镜像
docker run --name pgadmin611 -p 35437:443 --network test_db_default -v /var/lib/pgadmin:/var/lib/pgadmin --mount type=bind,source=/home/ubuntu/certs/*.lianinstruments.com.crt,target=/certs/server.cert,readonly --mount type=bind,source=/home/ubuntu/certs/*.lianinstruments.com.key,target=/certs/server.key,readonly -e 'PGADMIN_DEFAULT_EMAIL=account@17lianqin.cn' -e 'PGADMIN_DEFAULT_PASSWORD=xxxx' -e 'PGADMIN_ENABLE_TLS=1' -d dpage/pgadmin4:6.11- 配置名字
- pgadmin611
- 配置端口映射
- 外网35437 映射到 内网443端口
- 配置网络
- 采用 test_db_default为名字的网络
- 如果不配置,会采用默认的网络
- 挂载volume
- 把/var/lib/pgadmin持久化到本地机器
- 当然,初始化时,如果本地机器有相应文件,也会拷贝到容器内,可用于迁移升级版本镜像
- 挂载证书
- 采用mount命令,选用bind模式
- 指定source和target,并设置只读模式
- 这里target是约定好的,就是根目录下certs文件夹
- 配置参数
- 包括管理员邮箱,管理员密码
- 设置开启TLS,这样才能用https
- 指定镜像
- dpage/pgadmin4:6.11
- 配置名字
-
进入镜像
docker exec -i -t pgadmin611 /bin/sh- 数据存储在
/var/lib/pgadmin的pgadmin4.db(sqlite3数据库)内
- 数据存储在