通过idea实现Docker部署jar和vue

该博客主要介绍了Docker的安装及使用方法,包括打开远程控制、在idea下载插件并连接Docker等步骤。还详细说明了在项目内新建Dockerfile文件、配置信息并运行的过程。此外,着重讲解了Vue项目的部署,以及docker prune等相关命令的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. Docker 安装

https://www.runoob.com/docker/ubuntu-docker-install.html

2. 打开docker的远程控制

修改配置文件

vim  /usr/lib/systemd/system/docker.service

或:

vim /lib/systemd/system/docker.service

替换ExecStart

#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

重启docker

systemctl daemon-reload
systemctl restart docker

 

3. idea下载docker插件

4. 打开Settings,连接Docker

 

5. 项目内新建Dockerfile文件

FROM java:8
# 作者
MAINTAINER most <***@qq.com>
# VOLUME 指定了临时文件目录为/tmp。
# 其效果是在主机 /var/lib/docker 目录下创建了一个临时文件,并链接到容器的/tmp
VOLUME /tmp
#设置语言编码和时区
ENV LANG C.UTF-8
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
# 将jar包添加到容器中并更名为demo.jar
ADD /target/*.jar demo.jar
# 运行jar包
RUN bash -c 'touch /demo.jar'
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/demo.jar"]

6. 配置docker信息

--network=host

ip为主机ip

映射端口:

 

7. 单击run运行

 

 

 

 

8. 部署vue项目

8.1 项目内新建default.conf文件

server {
        listen       80;
        server_name  localhost;

        location / {
            root   /dist/;
            try_files $uri $uri/ /index.html;
            index  index.html index.htm;
        }

        location /prod-api/{
            proxy_set_header Host $http_host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header REMOTE-HOST $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_pass http://127.0.0.1:19504/;
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
}

8.2 新建Dockerfile文件

FROM nginx
COPY dist/ dist/
RUN rm /etc/nginx/conf.d/default.conf
COPY default.conf /etc/nginx/conf.d/

 

8.3 修改配置

 

8.4 点击run运行

 

 

 

 

 

8.5 docker命令

8.5.1 docker prune 命令

prune 命令用来删除不再使用的 docker 对象。

删除所有未被 tag 标记和未被容器使用的镜像:

 docker image prune

删除所有未被容器使用的镜像:

docker image prune -a

删除所有停止运行的容器:

docker container prune

删除所有未被挂载的卷:

docker volume prune

删除所有网络:

docker network prune

删除 docker 所有资源:

docker system prune

批量停止容器

docker stop $(docker ps -a | grep "xxx" | awk '{print $1}')

docker stop 停止容器
$() 返回在括号内运行脚本的结果
docker ps -a 列出所有容器的docker
| grep “xxx” 管道上一个命令的结果,grep以搜索包含字符串xxx的行
| awk '{print $1}' 管道的结果grep搜索到的awk命令,该命令被告知仅打印在第1列,其是容器的ID的值

 

批量删除容器

docker rm $(docker ps -a | grep "xxx" | awk '{print $1}')

批量删除镜像

docker rmi $(docker images | grep "xxx" | awk '{print $3}')
### 使用Docker部署RuoYi-Vue项目的教程 #### 安装Docker环境 为了能够顺利地使用Docker部署RuoYi-Vue项目,首先需要确保服务器上已经安装好Docker环境。这一步骤对于后续的操作至关重要,因为所有的容器化操作都将依赖于这个基础平台[^2]。 #### 准备工作:获取源码与构建镜像 通过`git`命令可以从远程仓库克隆完整的RuoYi-Vue项目到本地环境中。接着,在IDEA的帮助下可以将该项目编译打包成可执行的JAR文件(`ruoyi-admin.jar`)。与此同时,在同一个目录下还需要准备一个名为`Dockerfile`的文本文件用于定义如何基于当前的应用程序创建一个新的Docker镜像[^3]。 #### 创建必要的服务容器 针对数据库、缓存以及其他可能需要用到的服务组件(比如MySQL, Redis),可以通过简单的Docker命令快速启动相应的官方镜像实例。例如,要创建并运行一个Redis服务容器,则只需执行如下指令: ```bash docker run -d --name redis -p 6379:6379 redis ``` 这条命令将会以后台模式启动一个命名为`redis`的新容器,并将其内部监听的默认端口映射至主机相同的端口号上以便外部访问[^4]。 #### 构建应用镜像及发布 完成上述准备工作之后,就可以利用之前提到过的`Dockerfile`配合`docker build .`这样的命令行工具链来进行应用程序专用镜像的定制化组装了。一旦成功生成目标镜像,便可通过`docker-compose up`或者单独指定参数的方式让该Web应用正式上线对外提供HTTP(S)请求响应服务。 #### 配置持久化存储路径 考虑到数据安全性稳定性方面的要求,建议设置合理的卷挂载策略使得重要的业务资料得以妥善保存而不至于随着容器销毁而丢失。具体做法是在启动各个功能模块对应的容器时指明其各自的工作区所在位置作为宿主机上的固定物理地址。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值