通过idea实现Docker部署jar和vue

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}')
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值