docker 自定义创建 postgres

1. 查看镜像库中postgres镜像

docker search postgres 

2.下载镜像

docker pull postgres

3.查看镜像

docker images

4.配置sh脚本

mkdir  postgres  (创建文件夹)

cd postgres 

mkdir data (创建数据文件夹)

touch postgres.sh (常见sh脚本文件)

vi postgres.sh(编辑脚本)

粘贴以下代码到postgres.sh文件中

#!/bin/sh

NAME=hy-postgres
PORT=5432
CURDIR=`pwd`
PASSWORD=123456
case "$1" in
	create)
		port_map="-p 172.17.0.1:5432:5432"
		volumn_map="-v $PWD/data:/data"
		env_map="-e POSTGRES_PASSWORD=$PASSWORD" 
		docker run --name $NAME -d $env_map $port_map $volumn_map postgres:9.4.3
		;;
	delete)
		docker rm $NAME
		;;
	start)
		docker start $NAME
		;;		
	stop)
		docker stop $NAME
		;;
	status)
		docker ps -a | grep $NAME
		;;
	restart)
		docker restart $NAME
		;;	
	bash)
		docker exec -it $NAME bash
		;;
	exec)
		shift
		docker exec -it $NAME $*
		;;
	*)
		echo "Usage: $0 {start|stop|status|bash|exec|restart}"
		exit 1
	;;
esac


5使用脚本启动镜像

./postgres.sh create(创建镜像)

./postgres.sh start(启动镜像)

### 使用 Docker 创建容器教程 #### 准备工作 为了确保环境干净,在开始之前移除旧版本的 Docker 组件。这可以通过执行命令来完成: ```bash $ sudo apt-get remove docker docker-engine docker.io containerd runc ``` 此操作会清理掉可能存在的冲突软件包[^1]。 #### 安装 Docker 安装最新版 Docker 是必要的前提条件。通常通过官方文档推荐的方式进行安装,这里省略具体步骤,假设已经成功安装并启动了 Docker 服务。 #### 下载镜像 创建容器前需先获取所需的镜像。对于 PostgreSQL 数据库而言,可以使用如下命令下载官方镜像: ```bash $ docker pull postgres ``` 这条指令会让 Docker 自动从仓库拉取最新的 `postgres` 镜像。 #### 修改配置文件 当希望更改默认监听地址时,比如由 `'localhost'` 改为 `'*'` ,允许外部访问,则需要调整容器内的配置文件 `/etc/postgresql/<version>/main/postgresql.conf` 。一种方法是在本地准备好修改后的配置文件,再利用 `-v` 参数将其挂载到容器内部相应位置覆盖原有设置[^2]。 #### 启动容器 有了准备好的镜像之后就可以运行容器实例了。下面是一个简单的例子展示如何基于上述镜像启动一个新的 PostgreSQL 容器,并指定端口映射以及卷装载路径: ```bash $ docker run --name some-postgres -e POSTGRES_PASSWORD=mysecretpassword \ -p 5432:5432 \ -v /path/to/local/conf:/etc/postgresql/12/main \ -d postgres ``` 这段脚本做了几件事情: - 设置容器名称为 `some-postgres` - 设定环境变量定义初始密码 (`POSTGRES_PASSWORD`) - 将主机上的 5432 端口转发给容器内相同编号的服务端口 (-p) - 把宿主机目录下的自定义配置文件夹绑定至目标容器中的特定路径 (-v),从而实现持久化存储或定制参数的目的 - 指明要使用的镜像名 (postgres) 这样就完成了基本的 PostgreSQL 容器部署过程。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值