docker-compose部署postgres数据库
compose
compose - Docker Compose是一个用于定义和运行多容器Docker应用程序的工具,通过Compose文件格式简化应用部署过程。
项目地址:https://gitcode.com/gh_mirrors/compose/compose
免费下载资源
·
本文章详细的介绍了如何在一台虚拟机上面安装docker和docker compose环境,并且使用docker-compose.yml来部署postgres数据库。
环境准备:
我是准备了一个空的虚拟机,系统为centOS 7.9.2009
首先确定你的机器是否能够连接外网
网络准备:
1. 如果有外网,执行下面操作
安装并启动docker
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo systemctl start docker
sudo systemctl enable docker
2. 如果没有外网, 请先离线安装docker环境
下载对应版本的docker-20.10.17.tgz 文件,上传到虚拟机某个盘符下,比如/data下面
tar -zxvf docker-20.10.9.tgz
[root@centos247 docker]# tar -zxvf docker-20.10.9.tgz
docker/
docker/containerd-shim-runc-v2
docker/dockerd
docker/docker-proxy
docker/ctr
docker/docker
docker/runc
docker/containerd-shim
docker/docker-init
docker/containerd
解压的docker文件夹全部移至/usr/bin目录
cp -p docker/* /usr/bin
① 在/usr/lib/systemd/system/目录下,创建docker.service文件
② 编辑docker.service文件
[Unit]
Description=Docker Application Container Engine
Documentation=http://docs.docker.com
After=network.target docker.socket
[Service]
Type=notify
EnvironmentFile=-/run/flannel/docker
WorkingDirectory=/usr/local/bin
ExecStart=/usr/bin/dockerd \
-H tcp://0.0.0.0:4243 \
-H unix:///var/run/docker.sock \
--selinux-enabled=false \
--log-opt max-size=1g
ExecReload=/bin/kill -s HUP $MAINPID
# Having non-zero Limit*s causes performance problems due to accounting overhead
# in the kernel. We recommend using cgroups to do container-local accounting.
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
# Uncomment TasksMax if your systemd version supports it.
# Only systemd 226 and above support this version.
#TasksMax=infinity
TimeoutStartSec=0
# set delegate yes so that systemd does not reset the cgroups of docker containers
Delegate=yes
# kill only the docker process, not all processes in the cgroup
KillMode=process
Restart=on-failure
[Install]
WantedBy=multi-user.target
sudo rm /etc/systemd/system/docker.service.d/override.conf
systemctl reset-failed docker.service
systemctl start docker.service
systemctl daemon-reload
systemctl start docker.service
docker iamges
3. 接下来安装docker-compose环境
- 下载docker-compose-linux-x86_64文件
- 离线安装docker-compose
sudo mv docker-compose-linux-x86_64 /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose -v
#查看版本
docker-compose version
到此,docker环境是安装好了,接下来
查看防火墙配置
查看防火墙状态
systemctl status firewalld
关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
接下来是编写docker-compose.yml之前的准备工作
如果你有外网,可以直接在docker-compose.yml里面写公网镜像地址
如果你没有外网,可以下面镜像压缩包,上传到虚拟机上面,然后使用如下指令加载镜像
docker load < /data/docker/镜像包.tar
使用docker images 指令查看镜像名称
现在镜像有了,开始准备编写yml
创建目录
看你自己想将数据库挂载在哪个地方
mkdir -p /data/pg
cd /data/pg
vi docker-compose.yml
chmod 777 -R /data/
编辑yml
在使用vi命令的时候,可以编辑yml了
version: '2'
services:
pg:
image: 'postgres:14'
container_name: pg
restart: always
ports:
- "5432:5432"
environment:
- 'TZ=Asia/Shanghai'
- 'POSTGRES_PASSWORD=12345678'
- 'POSTGRES_USER=postgres'
volumes:
- '/data/pg:/var/lib/postgresql/data'
我的yml放在/data/pg目录下,进入到这个目录
启动docker容器
docker-compose up -d
新版本的docker可能会自带docker compose指令,这个时候你可以使用docker compose up -d 来启动
至此,postgres数据库已经启动完毕了,你可以在这里创建数据库,创建表结构和导入数据库了。
有什么地方讲的不够详细的,可以留言评论问我,看到了第一时间回复。
GitHub 加速计划 / compose / compose
33.27 K
5.15 K
下载
compose - Docker Compose是一个用于定义和运行多容器Docker应用程序的工具,通过Compose文件格式简化应用部署过程。
最近提交(Master分支:2 个月前 )
501b5acd
Add `jhrotko` to Core Maintainers.
Signed-off-by: Laura Brehm <laurabrehm@hey.com>
9 天前
f51bc4cd
Signed-off-by: Guillaume Lours <705411+glours@users.noreply.github.com>
9 天前
更多推荐
已为社区贡献2条内容
所有评论(0)