-
1. idea 连接远程 docker
- 1.1 安装 docker 插件
- 1.2 登录远程服务器,修改docker配置
- 1.3 添加云服务器防火墙规则
- 1.4 idea 配置连接 docker
-
2. 部署项目到 docker
- 2.1 创建并编写Dockerfile
- 2.2 运行配置
- 3. Nginx 配置
1. idea 连接远程 docker
1.1 安装 docker 插件
1.2 登录远程服务器,修改docker配置
(1) 修改 docker.service 文件,位于 /usr/lib/systemd/system/docker.service
打开该文件,将原来的 ExecStart 前面加上#号注释掉,在该行下面添加 ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock
[Service]
Type=notify
# the default is not to use systemd for cgroups because the delegate issues still
# exists and systemd currently does not support the cgroup feature set required
# for containers run by docker
# ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock
ExecReload=/bin/kill -s HUP $MAINPID
TimeoutStartSec=0
RestartSec=2
Restart=always
(2) 重新加载配置
systemctl daemon-reload
(3) 重启 docker 服务
systemctl restart docker.service
1.3 添加云服务器防火墙规则
1.4 idea 配置连接 docker
打开 idea,打开 Setting,在 docker 项配置云服务器tcp://公网IP:2375
,点击 ok 即可连上 docker,如下图:
然后,就可以在 Services 中看到 docker 了
点击左边的 connect 就可以连接上 docker,可以看到 docker 中的镜像和容器信息
2. 部署项目到 docker
2.1 创建并编写Dockerfile
我这里将dockerfile 创建在根目录下
dockerfile 文件内容:
# 指定基础镜像
FROM openjdk:8-jre-slim
# 作者
MAINTAINER gzl
# 将容器的时区设置为"Asia/Shanghai"
RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone
# 复制主机文件至镜像内,复制的目录需放置在 Dockerfile 文件同级目录下
ADD target/chatgpt-api-0.0.1-SNAPSHOT.jar chatgpt-api.jar
# (和项目端口号等同)
EXPOSE 8080
# 在容器启动时执行该应用程序
ENTRYPOINT ["jav服务器托管网a", "-jar", "/chatgpt-api.jar"]
2.2 运行配置
(1) 点击 Edit Configurations…
(2) 点击左上角+
,找到 dockerfile
(3) 填写配置信息
- Bind ports:映射端口:项目端口
- Before launch:
选择Run Maven Goal
,Command line 填写clean package -U -DskipTests
,表示在构建之前清理项目的目标目录,以确保没有旧的构建残留,同时跳过运行单元测试,可加快构建过程
(4) 运行
点击运行
运行成功
3. Nginx 配置
修改 nginx 配置
server {
listen 80;
server_name 公网ip;
# 首页
index index.html;
location / {
root 服务器托管网 /usr/share/nginx/html;
index index.html index.htm;
}
location /api/ {
auth_request /auth;
# 鉴权通过后的处理方式
proxy_pass http://公网ip:8080/success;
}
location = /auth {
# 发送子请求到HTTP服务,验证客户端的凭据,返回响应码
internal;
# 设置参数
set $query '';
if ($request_uri ~* "[^?]+?(.*)$") {
set $query $1;
}
# 验证成功,返回200 OK
proxy_pass http://公网ip:8080/verify?$query;
# 发送原始请求
proxy_pass_request_body off;
# 清空 Content-Type
proxy_set_header Content-Type "";
}
error_page 404 /404.html;
location = /40x.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
在浏览器使用公网ip访问
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
机房租用,北京机房租用,IDC机房托管, http://www.fwqtg.net
热点随笔: 30岁之前什么新技术我都学,30岁之后什么新技术我都不学。(服务器托管网程序员济癫)【故障公告】今年第五次:数据库服务器 CPU 100%(博客园团队)请大家一定不要像我们公司这样打印log日志(程序员济癫)会员权益-需求调查:需要什么样的云服务器…