05-稍后阅读系统搭建

nobility 发布于 2020-09-03 539 次阅读


编写 docker-compose 文件

在当前目录下创建 docker-compose.yml 并复制下面的配置。

version: '3.1'
services:
  wallabag:
    image: wallabag/wallabag
    ports:
      - 80:80
    environment:
      MYSQL_ROOT_PASSWORD: root
      SYMFONY__ENV__DATABASE_DRIVER: pdo_mysql
      SYMFONY__ENV__DATABASE_HOST: mysql
      SYMFONY__ENV__DATABASE_PORT: 3306
      SYMFONY__ENV__DATABASE_NAME: wallabag
      SYMFONY__ENV__DATABASE_USER: wallabag
      SYMFONY__ENV__DATABASE_PASSWORD: wallabag
      SYMFONY__ENV__DATABASE_CHARSET: utf8mb4
      SYMFONY__ENV__REDIS_HOST: redis
      SYMFONY__ENV__REDIS_PORT: 6379
      SYMFONY__ENV__REDIS_PASSWORD: root
      # 配置自己的邮箱
      SYMFONY__ENV__FROM_EMAIL: wallabag@example.com
      # 配置自己的 URL,跳转以及请求时,都会加上这个前缀,所以域名和 ip 会跨域
      SYMFONY__ENV__DOMAIN_NAME: http://localhost
    restart: always
    networks:
      - net1
    volumes:
      # 将图片映射挂载到本地,这样docker停止了,数据不会丢失
      - /var/www/wallabag/images:/var/www/wallabag/web/assets/images
    depends_on:
      - mysql
      - redis
  
  mysql: 
    image: mariadb:10.10
    environment:
      MYSQL_ROOT_PASSWORD: root
      # 注意:不要再为 wallabag 指定数据库、用户名和密码,因为 wallabag 会自动创建,如果指定了那么将无法创建,导致程序无法启动
      # MYSQL_DATABASE: wallabag
      # MYSQL_USER: wallabag
      # MYSQL_PASSWORD: wallabag
    networks:
      - net1
    volumes:
      - mysql:/var/lib/mysql
    restart: always

  redis:
    image: redis:alpine
    environment:
      REDIS_PASSWORD: root
    networks:
      - net1
    volumes:
      - redis:/data
    restart: always

volumes:
  mysql:
  redis:

networks:
  net1:
    driver: bridge

安装 Docker Compose 并启动容器

安装 Docker Compose 并启动服务。

# 安装 Docker Compose
yum install docker-compose
# 执行 Docker Compose 命令,后台启动 Docker 容器
docker-compose up -d

开启防火墙并放行端口

可选步骤,如果遇到网站无法访问的情况,则需要检查防火墙是否开启。

# 检查防火墙是否开启
systemctl status firewalld
# 如果没有开启,需要开启防火墙
systemctl start firewalld
# 放行 80 端口
firewall-cmd --zone=public --add-port=80/tcp
# 放行 443 端口
firewall-cmd --zone=public --add-port=443/tcp

卸载 Docker 容器

期间,如果想停止服务,重新部署时,需要执行下面命令。

# 执行 Docker Compose 命令,停止正在执行的容器,如果想同时删除数据卷,则需要使用 -v 参数
docker-compose down
# 重启 Docker 服务
systemctl restart docker
此作者没有提供个人介绍
最后更新于 2020-09-03