environnement
Centos-7
Postgresql-10
docker-19
yum charger Postgresql
yum installer https: // download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-centos10-10-2.noarch.rpm -et
Voir la version Postgresql
yum liste | grep postgresql
Télécharger Postgresql Mirror
# Tirez obtenir la version 10 docker postgres traction: 10
Créez un répertoire sql mapping hôte
# Ici , je var / lib / créé sous mkdir / var / lib / PostgreSqlData
Construction du Miroir
Miroir # modification Nom (étiquette docker ID miroir le nom personnalisé)
Docker --name Postgres RUN ~ -v / var / lib / PostgreSqlData: / Accueil / Données / -e -d -p POSTGRES_PASSWORD = ****** ** **: 5432 Postgres
--name: est un nom de miroir
-v: cartographie, répertoire local: le chemin du conteneur
POSTGRES_PASSWORD: Base de données Mot de passe
-p: le mappage de port, le port hôte: port du conteneur
Enfin, le nom du conteneur personnalisé
Voici une commande simple,
docker run -d --name postgresql2 --restart toujours -e POSTGRES_USER = abcuser -e POSTGRES_PASS = ' abc123 ' -e ALLOW_IP_RANGE = 0.0 . 0,0 / 0 -v / docker_root / postgresql11-docker: / var / lib / postgresql -v / 4T / tmp: / tmp / tmp -p 55433 : 5432 -t postgis
- -e ALLOW_IP_RANGE = 0.0.0.0 / 0, cette représentation permet à tous l'accès IP, sinon, il ne peut pas accéder à l'IP non-native
- -e POSTGRES_USER = abcuser Nom d'utilisateur
- -e POSTGRES_PASS = 'abc123' indiquer un mot de passe
Postgres dans le récipient
-it menu fixe exec conteneur ID bash
source de mise à jour logicielle
# Mise à jour du logiciel liste des sources apt - mise à jour get # Installer vim apt -get -y install vim
Configurer l'accès à distance
# Changement dans le répertoire / var / lib / PostgreSQL / données
cd / var / lib / postgresql / data
Modifier le fichier postgresql.conf
# Review: écoute sur toutes les adresses IP, ce qui permet la connexion à distance au serveur de base de données: listening_address: ' * '
Modifier le fichier pg_hba.conf
# Ajouter ou modifier: permettre à tout utilisateur d'accéder à la base de données de mot de passe de toute machine, la première règle est ajoutée à la liaison descendante: hôte tous les 0.0 . 0,0 / 0 md5
Modifier le format encodage
mise à jour pg_database set encoding = pg_char_to_encoding ( ' UTF8 ' ) où datname = ' basemap '
Voir la version
montrer server_version; ou # sélectionner la version ();
Redémarrer conteneur
docker nom du navire de redémarrage
Complet!
chemin de github recommandé: Postgres + PostGIS déployer plusieurs versions ensembles de fichiers DockerFile: https://github.com/postgis/docker-postgis