侧边栏壁纸
博主头像
xh博主等级

永远是一个学者

  • 累计撰写 15 篇文章
  • 累计创建 6 个标签
  • 累计收到 8 条评论
标签搜索

目 录CONTENT

文章目录

IDEA集成Docker

xh
xh
2023-03-12 / 3 评论 / 4 点赞 / 468 阅读 / 733 字
温馨提示:
本文最后更新于 2023-07-09,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

1.前言

简单记录一下通过IDEA中的Docker插件快速的将项目进行发布,本文简单介绍部署一套博客系统的前后端项目~


2.开启Docker远程访问

2.1 修改docker.service文件

vim /lib/systemd/system/docker.service

找到 [Service] 节点,在 ExecStart 属性末尾追加: -H tcp://0.0.0.0:2375

ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock -H tcp://0.0.0.0:2375

image.png

2.2 重启Docker

systemctl daemon-reload
systemctl restart docker

2.3 开放访问端口

firewall-cmd --zone=public --add-port=2375/tcp --permanent
firewall-cmd --reload

如果是云服务器的小伙伴,请在服务器安全组规则添加对应的端口~

2.4 配置CA安全认证

TODO


3.IDEA配置Docker插件

3.1 安装Docker插件

打开Settings,安装Docker插件,按照图中顺序进行操作。
image.png

3.2 配置Docker连接

打开Settings,连接Docker,按照图中顺序进行操作。

tcp://127.0.0.1:2375

image.png


4.项目部署

拾壹博客 为例,部署前后端项目

4.1 后端项目

4.1.1 集成Maven插件

修改项目的 pom.xml 文件,加入并修改以下配置

<properties>
   <!-- Docker镜像的前缀 -->
   <docker.image.prefix>xh</docker.image.prefix>
</properties>

<plugin>
  <groupId>com.spotify</groupId>
  <artifactId>docker-maven-plugin</artifactId>
  <version>1.2.2</version>

  <configuration>
    <!-- 远程Docker的地址 -->
    <dockerHost>http://IP:端口</dockerHost>
    <!-- 镜像名称(前缀/项目名) -->
    <imageName>${docker.image.prefix}/blog-api</imageName>
    <!-- Dockerfile位置 -->
    <dockerDirectory>${project.basedir}/docker</dockerDirectory>
    <resources>
      <resource>
        <targetPath>/app</targetPath>
	<!-- target文件夹 -->
        <directory>${project.build.directory}</directory>
	<!-- 打出来的jar包 -->
        <include>${project.build.finalName}.jar</include>
      </resource>
    </resources>
  </configuration>
</plugin>

4.1.2 创建Dockerfile文件

注:Dockerfile 文件的路径必须得与pom.xml中docker插件配置的路径一致!

FROM amazoncorretto:8

# 设置中文编码
ENV LANG en_US.UTF-8
ENV LANGUAGE en_US:en
ENV LC_ALL en_US.UTF-8

# 设置时区
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

ADD /app/ /app/
WORKDIR /app
CMD ["java", "-jar", "shiyi-blog.jar"]

EXPOSE 8800

image.png

4.1.3 打包、构建镜像

image.png
image.png
镜像构建成功,进入控制台查看,打开Services(快捷键 Alt+8)
image.png

4.1.4 创建容器、运行

选中镜像,右键创建容器、填写参数、Run

image.png
image.png

(查看日志,启动成功)

image.png

4.2 前端项目

4.2.1 创建Dockerfile文件

FROM nginx

COPY dist/  /usr/share/nginx/html/

image.png

指定打包输出路径

image.png

(新增配置)

npm run build

image.png

构建镜像、运行配置

image.png

4.2.2 打包、构建镜像、运行

打包(npm run build)

image.png
image.png

构建镜像、运行

image.png
image.png

4.3 测试

启动完成后自行测试~

4

评论区