备份docker镜像中的数据到本地
# 每天定时备份PG数据库
echo '开始备份Credit数据库'
docker exec credit_db pg_dump -h localhost -U postgres -f /var/lib/postgresql/data/backup.sql credit
echo '数据库备份完毕,开始复制到本地sql文件下'
filename=$(date '+%Y%m%d%H%M%S')
docker cp credit_db:/var/lib/postgresql/data/backup.sql sql/${filename}.sql
docker exec credit_db rm /var/lib/postgresql/data/backup.sql
echo ${filename}'的数据备份完毕' > backup.log
nginx配置:
server {
listen 80;
server_name credit.zc12369.com;
client_max_body_size 20m;
location / {
root /usr/share/nginx/html/;
index index.html;
}
location /res/ {
alias /resources/;
autoindex on;
}
location /java {
proxy_pass http://credit_java:8080/java;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_redirect off;
}
}
docker-compose.yml:
version: '3.3'
services:
credit_db:
image: postgres
container_name: credit_db
restart: unless-stopped
environment:
# POSTGRES_USER: haizhi
POSTGRES_PASSWORD: 123456
POSTGRES_DB: credit
ports:
- 5435:5432
volumes:
- ./pgdata:/var/lib/postgresql/data/
credit_java:
image: docker.zc12369.com/credit/java
restart: unless-stopped
container_name: credit_java
depends_on:
- credit_db
links:
- credit_db
# ports:
# - 8088:8080
volumes:
- ./res:/resources
credit_nginx:
build:
context: nginx
dockerfile: dockerfile
command: nginx -g "daemon off;"
restart: unless-stopped
ports:
- 93:80
expose:
- 93
depends_on:
- credit_java
links:
- credit_java
container_name: credit_nginx
volumes:
- ./default.conf:/etc/nginx/conf.d/default.conf
- ./www/html/dist:/usr/share/nginx/html/
- ./res:/resources
dockerFile:
FROM tomcat:8.5.15-jre8
RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
&& echo 'Asia/Shanghai' >/etc/timezone \
WORKDIR /usr/local/tomcat/
RUN mkdir -p /resources
RUN chmod -R 777 /resources
COPY server.xml /usr/local/tomcat/conf/
COPY target/java.war /usr/local/tomcat/webapps/
# RUN /bin/bash /usr/local/tomcat/bin/shutdown.sh
RUN /bin/bash /usr/local/tomcat/bin/startup.sh
指定不同文件夹的yml启动docker-compose -f conf/docker-compose.yml up