首页 > 其他分享 >使用Docker部署LskyPro图床笔记

使用Docker部署LskyPro图床笔记

时间:2023-05-12 11:55:37浏览次数:49  
标签:postgresql image ssl 图床 LskyPro proxy lsky Docker com

使用Docker部署LskyPro图床


这个自我介绍是发给爬虫爬走的站的人看的。
哈喽我是Perry,网名wosperry,我的站是wosperry.com,这是发在博客园的哦,别被爬虫站长骗了


今天我第二次尝试使用Docker Compose 部署 LskyPro,但是却遇到了一些问题。尽管我已经尝试过一次,但是我仍然在这次部署中踩了同样的坑。不过,我决定记录下这次的问题和解决方法,并将它们整理成这篇笔记。我希望这篇笔记能够帮助那些正在尝试使用 Docker Compose 部署 LskyPro 或者遇到了类似问题的小伙伴。

Docker Compose YML

version: '3'

# 定义docker服务
services:

  # lskypro服务
  lskypro:
    # 使用的镜像
    image: halcyonazure/lsky-pro-docker:latest
    # 容器重启策略
    restart: unless-stopped
    # 容器主机名
    hostname: lskypro
    # 容器名称
    container_name: lskypro
    # 环境变量
    environment:
      - WEB_PORT=8089
    # 挂载数据卷
    volumes:
      - $PWD/lsky/web:/var/www/html/
    # 端口映射
    ports:
      - "1234:8089"
    # 网络连接
    networks:
      - lsky-net

  # postgresql-lsky服务(如果有现成的数据库用,也可以不要这个service)
  postgresql-lsky:
    # 使用的镜像
    image: postgres:13.4
    # 容器重启策略
    restart: unless-stopped
    # 容器主机名
    hostname: postgresql-lsky
    # 容器名称,首次打开网页配置用得到
    container_name: postgresql-lsky
    # 挂载数据卷
    volumes:
      - $PWD/postgresql/data:/var/lib/postgresql/data
    # 环境变量
    environment:
      POSTGRES_USER: lsky # 数据库用户名,自行修改,首次打开网页配置用得到
      POSTGRES_PASSWORD: 123456 # 数据库用户密码,自行修改,首次打开网页配置用得到
      POSTGRES_DB: lsky-data # 数据库名称,自行修改,首次打开网页配置用得到
    # 端口映射
    ports:
      - "5432:5432"
    # 网络连接
    networks:
      - lsky-net

# 定义网络连接
networks:
  lsky-net: {} # 空的网络连接,表示使用默认的桥接网络连接

注意:

  • 镜像名称和版本号改为postgres:13.4
  • 环境变量改为POSTGRES_USERPOSTGRES_PASSWORDPOSTGRES_DB
  • 端口映射改为5432:5432,因为postgresql默认使用的端口号是5432。
  • 挂载数据卷的路径改为$PWD/postgresql/data:/var/lib/postgresql/data,因为postgresql默认的数据目录是/var/lib/postgresql/data

nginx 反向代,HTTPS配置

  1. nginx配置

    server {
        #SSL 默认访问端口号为 443
        listen 443 ssl http2;
        listen [::]:443 ssl http2;
        #请填写绑定证书的域名
        server_name image.hahaha.com; 
        #请填写证书文件的相对路径或绝对路径
        ssl_certificate  cert/image.hahaha.com_bundle.crt; 
        #请填写私钥文件的相对路径或绝对路径
        ssl_certificate_key cert/image.hahaha.com.key; 
        ssl_session_timeout 5m;
        #请按照以下协议配置 
        #请按照以下套件配置,配置加密套件,写法遵循 openssl 标准。 
        ssl_ciphers EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH   +AES256:RSA+AES256::!MD5;
        ssl_protocols TLSv1.1 TLSv1.2;
        ssl_prefer_server_ciphers on; 
        
        location / {
            add_header Strict-Transport-Security "max-age=63072000; includeSubdomains;    preload";
            proxy_pass http://my-lskypro:1234/;
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection $http_connection;
            proxy_set_header Host $http_host;
            proxy_cache_bypass $http_upgrade;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;
        }
    } 
    
    server {
        listen 80;
        listen [::]:80;
        server_name image.hahaha.com; 
        #把http的域名请求转成https
        return 301 https://$host$request_uri; 
    }
    
  2. 让程序支持HTTPS

    docker exec -it lskypro sed -i '32 a    \\\Illuminate\\Support\\Facades\\URL::forceScheme('"'"'https'"'"');' /var/www/html/   app/Providers/AppServiceProvider.php
    
  3. 修改程序 .env 配置文件

    # 修改应用URL
    APP_URL=https://image.hahaha.com
    # 增加下面这行,修改程序资源URL
    ASSET_URL=https://image.hahaha.com
    

引用

HalcyonAzure/lsky-pro-docker:https://github.com/HalcyonAzure/lsky-pro-docker

LskyPro开源版官方文档:https://docs.lsky.pro/docs/free/v2/

标签:postgresql,image,ssl,图床,LskyPro,proxy,lsky,Docker,com
From: https://www.cnblogs.com/wosperry/p/lskypro-docker.html

相关文章

  • paddlepaddle docker 安装实践
    系统:linuxcentosdocker-v#Dockerversion23.0.3,build...参考链接:https://www.paddlepaddle.org.cn/documentation/docs/zh/install/docker/linux-docker.htmldockerhub:https://hub.docker.com/r/paddlepaddle/paddle/tags/拉取镜像:dockerpullpaddlepaddle/paddl......
  • docker 常用指令
    dockerload-i./power.tar 恢复镜像dockerps  列出所有正在运行容器信息dockerps-a  列出所有容器信息dockerimages 列出所有镜像dockerrun-it--name名称-p8196:80(端口映射) -e SQL_User=‘数据库用户名‘ -e SQL_Pass='数据库密码'-eSQL_Db_N......
  • Docker命令之export|import、save|load
    1、export|importexportdockerexport-o/ly/myexport-redis49c26f7431d1-o:指定一个不存在的文件夹,存放导出的镜像import#格式dockerimport[OPTIONS]file|URL|-[REPOSITORY[:TAG]]#例如dockerimport/ly/myexport-redisexportredis:v1注意:我们使用expo......
  • WSL 的升级 及 docker下存储迁移
    参考:https://www.cnblogs.com/zym2018/p/17390855.html,尝试另外一种解法,包含了(WSL的升级)wsl--shutdownwsl-l-vwsl--exportdocker-desktopD:\WSL\bak\docker-desktop.tarwsl--exportdocker-desktop-dataD:\WSL\bak\docker-desktop-data.tarwsl--exportUbuntuD:\W......
  • docker部署SkyWalking
     sudodockerrun--nameskywalking-oap\--nameskywalking-d\--restartalways-d\-p1234:1234\-p11800:11800\-p12800:12800\-eTZ=Asia/Shanghai\-eSW_STORAGE=elasticsearch\-eSW_STORAGE_ES_CLUSTER_NODES=192.168.0.104:9201\apach......
  • Dockerfile手册
    基础知识Dockerfile是一个包含用于组合映像的命令的文本文档。可以使用在命令行中调用任何命令。Docker通过读取Dockerfile中的指令自动生成映像。dockerbuild命令用于从Dockerfile构建映像。可以在dockerbuild命令中使用-f标志指向文件系统中任何位置的Dockerf......
  • docker(一):Develop faster. Run anywhere.
    前言在进行微服务部署时,首先需要进行部署环境的搭建。目前,Docker已经成为了微服务部署的主流解决方案之一。Docker可以帮助我们更快地打包、测试以及部署应用程序,从而缩短从编写到部署运行代码的周期。在本文中,我们将对Docker进行初步的讲解,并介绍如何将映像生成并作为容器......
  • docker-compose 与 docker stack 编排配置使用区别
    1、docker-compose.yml文件指令配置上Docker有个编排工具docker-compose,可以将组成某个应该的多个docker容器编排在一起,同时管理。同样在Swarm集群中,可以使用dockerstack将一组相关联的服务进行编排管理。Dockerstack也是一个yaml文件,和一份docker-compose.yml文件差不多,指......
  • docker-compose部署kafka和kafka-eagle
    docker-compose部署kafka和kafka-eagle创建自定义docker网络dockernetworkcreatekafkanetwork创建目录mkdir-pv/data/kafka/mysql/{data/logs}cd/data/kafka编写docker-compose[root@centoskafka]#vimdocker-compose.ymlversion:'2'services:zookeeper......
  • Docker 镜像详细讲解
    Docker镜像详细讲解微枫Micromaple 运维网工 2023-03-0509:00 发表于重庆收录于合集#docker4个#docker镜像1个来自:CSDN,作者:微枫Micromaple链接:https://micromaple.blog.csdn.net/article/details/125727576前言大家好,本文是对Docker镜像的详细讲解,讲解......