docker 部署 oneblog
·
[root@localhost oneblog]# cat docker-compose.yml
version: '3.3'
services:
blog-nginx:
image: nginx:alpine
restart: always
container_name: blog-nginx
hostname: blog-nginx
depends_on: # 确保后台和前台服务已启动
- blog-admin
- blog-web
ports:
- "8888:80" # 将宿主机的 8888 端口映射到容器的 80 端口[reference:0]
volumes:
- ${ONEBLOG_APP_DIR}/images:/var/www/oneblog/upload:ro
- ${ONEBLOG_APP_DIR}/nginx/nginx.conf:/etc/nginx/nginx.conf:ro
networks:
- oneblog
blog-redis:
image: redis
restart: always
container_name: blog-redis
hostname: blog-redis
command: redis-server --appendonly yes --requirepass ${ONEBLOG_REDIS_PASSWORD} --bind blog-redis
ports:
- "${ONEBLOG_EXPORT_PORT_REDIS}:6379"
volumes:
- ${ONEBLOG_APP_DIR}/redis/:/data/
healthcheck:
test: ["CMD", "redis-cli"]
timeout: 20s
retries: 10
networks:
- oneblog
blog-mysql:
image: justauth/blog-mysql
environment:
MYSQL_ROOT_PASSWORD: ${ONEBLOG_DATASOURCE_PASSWORD}
TZ: Asia/Shanghai
restart: always
container_name: blog-mysql
hostname: blog-mysql
volumes:
- ${ONEBLOG_APP_DIR}/mysql:/var/lib/mysql
ports:
- "${ONEBLOG_EXPORT_PORT_MYSQL}:3306"
command: --default-authentication-plugin=mysql_native_password --character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci
healthcheck:
test: ["CMD", "mysqladmin", "ping", "-h", "localhost"]
timeout: 20s
retries: 10
networks:
- oneblog
blog-admin:
image: justauth/blog-admin
restart: always
container_name: blog-admin
hostname: blog-admin
env_file:
- .env
volumes:
- ${ONEBLOG_APP_DIR}:/var/tmp/oneblog
depends_on:
blog-redis:
condition: service_healthy
blog-mysql:
condition: service_healthy
links:
- blog-redis
- blog-mysql
ports:
- "${ONEBLOG_EXPORT_PORT_ADMIN}:8085"
networks:
- oneblog
blog-web:
image: justauth/blog-web
restart: always
container_name: blog-web
hostname: blog-web
env_file:
- .env
volumes:
- ${ONEBLOG_APP_DIR}:/var/tmp/oneblog
depends_on:
blog-redis:
condition: service_healthy
blog-mysql:
condition: service_healthy
links:
- blog-redis
- blog-mysql
ports:
- "${ONEBLOG_EXPORT_PORT_WEB}:8443"
networks:
- oneblog
networks:
oneblog:
driver: bridge
[root@localhost oneblog]# ls
data docker-compose.yml
[root@localhost oneblog]# cat .env
# 数据存储目录(建议修改为你自己的路径,例如 /home/oneblog/data)
ONEBLOG_APP_DIR=/home/oneblog/data
# 对外暴露的端口(可按需修改)
ONEBLOG_EXPORT_PORT_REDIS=63799
ONEBLOG_EXPORT_PORT_MYSQL=33066
ONEBLOG_EXPORT_PORT_ADMIN=8085
ONEBLOG_EXPORT_PORT_WEB=8443
# Redis 配置
ONEBLOG_REDIS_DATABASE_INDEX=1
ONEBLOG_REDIS_HOST=blog-redis
ONEBLOG_REDIS_PORT=6379
ONEBLOG_REDIS_PASSWORD=GcwqemvNoipFX02r3IajYkVzWxJ1uLdK # 请修改为强密码
# MySQL 配置
ONEBLOG_DATASOURCE_HOST=blog-mysql
ONEBLOG_DATASOURCE_PORT=3306
ONEBLOG_DATASOURCE_DATABASE_NAME=dblog
ONEBLOG_DATASOURCE_USERNAME=root
ONEBLOG_DATASOURCE_PASSWORD=4y2B9jdtVfcDwMUIRWn7kqEY8563uzNo # 请修改为强密码
# 邮箱配置(可选,不需要可留空)
ONEBLOG_MAIL_HOST=
ONEBLOG_MAIL_PORT=465
ONEBLOG_MAIL_USERNAME=
ONEBLOG_MAIL_PASSWORD=
# OneBlog 其他配置
ONEBLOG_APP_ENABLE_KAPTCHA=false
ONEBLOG_APP_ENABLE_CHECK_LINK=false
ONEBLOG_APP_ENABLE_PRINT_CONFIG=true
ONEBLOG_ENABLE_REDIS_CACHE=true
[root@localhost oneblog]#
更多推荐




所有评论(0)