Youtube视频


相关链接

it-tools仓库

docker安装

acme.sh证书申请

一、官方镜像部署

需要先安装docker,请查看相关链接的docker安装笔记
docker run -d --name it-tools --restart unless-stopped -p 80:80 corentinth/it-tools:latest

二、通过docker nginx部署

  1. 运行nginx容器

    docker run -d --name nginx -p 80:80 -p 443:443 nginx
  2. 创建Nginx映射目录

    mkdir -p /data/nginx/{conf,html,logs}
  3. 从nginx容器拷贝默认的配置文件出来

    docker cp nginx:/etc/nginx/nginx.conf /data/nginx/conf/nginx.conf
  4. 停止并删除nginx容器(可选)

    之前的容器目的是为了拿一份默认配置
    你也可以使用上面通过命令运行,不过需要将相关的目录映射好哦
    我只是习惯用docker compose而已
    docker stop nginx && docker rm nginx
  5. 新增 docker-compose.yaml配置文件

    cat <<EOF> /data/nginx/docker-compose.yaml
    version: '3.9'
    services:
        nginx:
            image: nginx
            volumes:
                - '/data/nginx/logs:/var/log/nginx'
                - '/data/nginx/html:/usr/share/nginx/html'
                - '/data/nginx/conf/conf.d:/etc/nginx/conf.d'
                - '/data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf'
            ports:
                - '443:443'
                - '80:80'
            container_name: nginx
            restart: always
    EOF
  6. 新增 it-tools.conf配置文件,⚠️修改自己的域名哦

    mkdir /data/nginx/conf/conf.d/
    cat <<EOF> /data/nginx/conf/conf.d/it-tools.conf
    server {
        listen 80;
        server_name 你自己的域名;
        root /usr/share/nginx/html/it-tools;
        index index.html;
    
        location / {
            try_files $uri $uri/ /index.html;
        }
    }
    EOF
  7. 运行it-tools官方容器

    docker run -d --name it-tools --restart unless-stopped  corentinth/it-tools:latest
  8. 从官方容器中拷贝项目文件到nginx的静态目录,并修改名称

    docker cp it-tools:/usr/share/nginx/html /data/nginx/html
    mv /data/nginx/html/html /data/nginx/html/it-tools
  9. 停止&删除官方容器

    docker stop it-tools && docker rm it-tools
  10. 运行nginx

    docker compose -f /data/nginx/docker-compose.yaml up -d
  11. 将域名解析到你的服务器IP

组合起来不就一键脚本了么

记得修改自己的域名哦
docker run -d --name it-tools --restart unless-stopped -p 80:80 corentinth/it-tools:latest
docker run -d --name nginx -p 80:80 -p 443:443 nginx
mkdir -p /data/nginx/{conf,html,logs}
docker cp nginx:/etc/nginx/nginx.conf /data/nginx/conf/nginx.conf
docker stop nginx && docker rm nginx
cat <<EOF> /data/nginx/docker-compose.yaml
version: '3.9'
services:
    nginx:
        image: nginx
        volumes:
            - '/data/nginx/logs:/var/log/nginx'
            - '/data/nginx/html:/usr/share/nginx/html'
            - '/data/nginx/conf/conf.d:/etc/nginx/conf.d'
            - '/data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf'
        ports:
            - '443:443'
            - '80:80'
        container_name: nginx
        restart: always
EOF
mkdir /data/nginx/conf/conf.d/
cat <<EOF> /data/nginx/conf/conf.d/it-tools.conf
server {
    listen 80;
    server_name 你自己的域名;
    root /usr/share/nginx/html/it-tools;
    index index.html;

    location / {
        try_files \$uri \$uri/ /index.html;
    }
}
EOF
docker run -d --name it-tools --restart unless-stopped  corentinth/it-tools:latest
docker cp it-tools:/usr/share/nginx/html /data/nginx/html
mv /data/nginx/html/html /data/nginx/html/it-tools
docker stop it-tools && docker rm it-tools
docker compose -f /data/nginx/docker-compose.yaml up -d
如果觉得我的文章对你有用,请随意赞赏