Docker - 安装并持久化PostgreSQL数据
本文可以對標 SonarQube (1) 基本環境搭建 中的 PostgreSQL 部分。
拉取鏡像
docker pull postgres:9.6這里出現一個烏龍,在拉取鏡像時輸成 postgre,導致拉取一直失敗,報“Error response from daemon: pull access denied for postgre, repository does not exist or may require 'docker login'”,查了很多回答才知道是自己輸錯鏡像名。
數據持久化
創建本地卷
docker volume create pgdata啟動容器
啟動時,需要將剛上個步驟創建的卷 pgdata 掛載到容器的 /var/lib/postgresql/data 目錄
docker run -it --rm -v pgdata:/var/lib/postgresql/data -p 5432:5432 postgres:9.6進入容器創建數據
搭建 postgres 容器環境的初衷是為了搭建 SonarQube,又不想破壞宿主機環境。因此以創建 sonar 相關用戶與數據庫為例編寫此節:
根據上一章的“啟動容器”,啟動容器后,查看該容器 ID:
docker ps假設該容器 ID 為 123 ,新開一個 Terminal 進入容器
docker exec -it 123 /bin/bash創建sonar用戶
切換到postgres用戶
su postgres創建sonar用戶
createuser -P -s -e sonar創建sonar數據庫
連接數據庫
psql創建sonar數據庫
create database sonar owner=sonar;查看創建后的數據庫
\l至此,sonar 用戶與數據庫均已創建成功,并且數據庫中的數據持久化在宿主機中,方便下次訪問及做備份。
作者:嚴北
鏈接:https://www.jianshu.com/p/900345a369aa
來源:簡書
簡書著作權歸作者所有,任何形式的轉載都請聯系作者獲得授權并注明出處。
總結
以上是生活随笔為你收集整理的Docker - 安装并持久化PostgreSQL数据的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python中的遇到的错误(持续更新)
- 下一篇: 深入解读 MySQL 架构设计原理,剖析