IDEA 部署Docker镜像

简介: 直接在 IDEA 部署Docker镜像,手把手操作

Docker


开启虚拟机,打开 finalshell 客户端

  • 开启docker service docker start


镜像操作


  • 查看镜像 docker images
  • 搜索镜像 docker serarch 镜像名
  • 拉取镜像 docker pull 镜像名:标签号 例如: docker pull mysql:5.7.26
  • 删除镜像 docker rmi 镜像ID/名称


容器操作

  • 查询容器 docker ps , 查看所有容器docker ps -a
  • 删除容器 docker rm 容器ID/容器名
  • 开启容器 docker start 容器ID/容器名
  • 停止容器 docker stop 容器ID/容器名
  • 进入容器操作 docker exec -it 容器ID bash
  • 查看容器日志 docker logs Name/ID
  • 拷贝文件到宿主机 docker cp -a bb397b55cde0:/tmp/ /tmp
  • 拷贝文件到容器 docker cp -a /tmp bb397b55cde0:/tmp/


开启Docker的远程连接

  1. 编辑文件 docker.service
    vi /usr/lib/systemd/system/docker.service
    找到 ExecStart=/usr/bin/dockerd这一行
    将其改为如下内容:
    ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock
  2. 重新加载配置文件
    systemctl daemon-reload
  3. 重启docker
    systemctl restart docker
  4. 查看 2375 端口是否开放
    netstat -nlpt
    也可以直接访问 curl http://127.0.0.1:2375/info,如果有返回信息,则已开放


IDEA 下载 插件

PS:总觉得这个插件有bug,如在 容器里设置了参数不生效。。。

在 Settings->Plugins->Marketplace 搜索 docker



安装完重启 IDEA


然后在 Settings 里搜索 docker ,配置上docker 地址,下面显示 successful 即连接成功


在 IDEA 页面的下面 有个 docker 的按钮,点开可以看到docker里所有的容器,所有的镜像


IDEA 推送镜像

首先maven clean 清理本地代码

maven package 打包本地项目,生成 jar

在 DockerFile 页面,编辑

idea.png

/usr/share/fonts/dejavu/


如果需要 docker里的mysql ,则 在配置文件里 这样写即可:


url: jdbc:mysql://mysql:3306/DBname?characterEncoding=utf8&useSSL=false&allowMultiQueries=true&serverTimezone=Asia/Shanghai


点击运行就可以将上面生成的 jar 打包成 docker 镜像,并上传到 docker 里。


如果项目依赖较多,需要较长时间


在IDEA 控制台就可以看到上传成功的 镜像,可以新建容器,运行


在IDEA 控制台也可以配置 容器的参数,比如端口映射,挂载文件,启动日志等,十分方便。


就酱,后台项目就启动完成了,物理机访问虚拟机ip 加上映射出来的端口号就可以访问到接口了


不过,仅能访问后台接口不是我们最终要的效果,得有界面啊!


安装MySQL


  1. 拉取镜像docker pull mysql:5.7.26
  2. 启动docker run -p 3306:3306 --name mysql:5.7.26 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7.26
  3. 配置外网访问
    进入容器 docker exec -it 47e74a93cf87 bash
    登录mysql -uroot -p输入密码
    命令 grant all privileges on *.* to root@"%" identified by "123456" with grant option;
    刷新 flush privileges;
    之后就可以我们就可以在物理机上通过nvicate 来连接上。


安装nginx


  1. 拉取镜像: docker pull nginx
  2. 查看镜像: docker images
  3. 在宿主机创建配置文件目录
    mkdir -p /data/nginx/{conf,conf.d,html,log}
  4. nginx.conf


#user  nobody;
worker_processes  1;
#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;
#pid        logs/nginx.pid;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    #tcp_nopush     on;
    #keepalive_timeout  0;
    keepalive_timeout  65;
    #gzip  on;
    server {
        listen       80;
        server_name  localhost;
        #charset koi8-r;
        #access_log  logs/host.access.log  main;
        location / {
            index  index.html index.htm;
            root /usr/share/nginx/html;
             charset utf-8;
              try_files $uri $uri/ /index.html;
        }
          location ^~/api/ {
              proxy_pass http://192.168.1.130:8080/;
        }
        #error_page  404              /404.html;
        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}
  1. index.html


<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>docker搭建nginx</title>
</head>
<body>
    <h1>docker搭建nginx映射成功</h1>
</body>
</html>
  1. 启动并挂载配置文件目录
    docker run --name my_nginx -d -p 80:80  -v /data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /data/nginx/log:/var/log/nginx -v /data/nginx/html:/usr/share/nginx/html nginx
  2. 在物理机访问 虚拟机ip ,看是否成功
  3. 重启nginxdocker restart 容器ID


部署项目


  1. 将前端项目,build ,将生成的 dist 文件夹里的内容上传到 html 目录
  2. 在 nginx.conf 配置文件里配置后台接口地址
  3. 访问nginx 服务器ip,测试是否可以访问。


远程访问

  1. 经过上面的操作,我们已经可以在本地跑起来idea 里的项目了,在idea控制台也可以直接看到项目的运行日志。
  2. 那么,如果我们要给领导或者客户看项目的进度怎么办?
  3. 可以使用 内网穿透,将局域网的 ip 映射出去。
  4. 之前使用的 ngrok.cc, 免费的总是断,体验不是很好。推荐一个稳定点的。utools,里面有内网穿透的功能,目前来说还是挺快挺好用的。
  5. 完结撒花~~

Docker 容器中文字体乱码问题


在宿主机内安装中文字体

  1. 查看已经安装的中文字体 fc-list :lang=zh
  2. 如果没有这个命令,安装上 yum -y install fontconfig
  3. 将Windows 上的 C:\Windows\Fonts 文件夹下的字体文件上传到 服务器目录  /usr/share/fonts/dejavu/
    比如 : 宋体字 (simsun.ttc)
  4. 清除缓存 fc-cache

然后在需要中文字体的容器里挂载宿主机的 字体文件, ==,冒号前为宿主主机目录,冒号后为容器对应目录==

docker run -p 80:80--name demo -v /usr/share/fonts/dejavu/:/usr/share/fonts/

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
目录
相关文章
|
10月前
|
应用服务中间件 网络安全 nginx
手把手教你使用 Docker 部署 Nginx 教程
本文详解Nginx核心功能与Docker部署优势,涵盖镜像拉取、容器化部署(快速、挂载、Compose)、HTTPS配置及常见问题处理,助力高效搭建稳定Web服务。
4129 4
|
10月前
|
应用服务中间件 Linux nginx
在虚拟机Docker环境下部署Nginx的步骤。
以上就是在Docker环境下部署Nginx的步骤。需要注意,Docker和Nginix都有很多高级用法和细节需要掌握,以上只是一个基础入门级别的教程。如果你想要更深入地学习和使用它们,请参考官方文档或者其他专业书籍。
439 5
|
10月前
|
存储 NoSQL Redis
手把手教你用 Docker 部署 Redis
Redis是高性能内存数据库,支持多种数据结构,适用于缓存、消息队列等场景。本文介绍如何通过Docker快速拉取轩辕镜像并部署Redis,涵盖快速启动、持久化存储及docker-compose配置,助力开发者高效搭建稳定服务。
2848 8
|
10月前
|
NoSQL 算法 Redis
【Docker】(3)学习Docker中 镜像与容器数据卷、映射关系!手把手带你安装 MySql主从同步 和 Redis三主三从集群!并且进行主从切换与扩容操作,还有分析 哈希分区 等知识点!
Union文件系统(UnionFS)是一种**分层、轻量级并且高性能的文件系统**,它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下(unite several directories into a single virtual filesystem) Union 文件系统是 Docker 镜像的基础。 镜像可以通过分层来进行继承,基于基础镜像(没有父镜像),可以制作各种具体的应用镜像。
934 6
|
10月前
|
存储 搜索推荐 数据库
🚀 RAGFlow Docker 部署全流程教程
RAGFlow是开源的下一代RAG系统,融合向量数据库与大模型,支持全文检索、插件化引擎切换,适用于企业知识库、智能客服等场景。支持Docker一键部署,提供轻量与完整版本,助力高效搭建私有化AI问答平台。
8336 8
|
10月前
|
存储 关系型数据库 MySQL
MySQL Docker 容器化部署全指南
MySQL是一款开源关系型数据库,广泛用于Web及企业应用。Docker容器化部署可解决环境不一致、依赖冲突问题,实现高效、隔离、轻量的MySQL服务运行,支持数据持久化与快速迁移,适用于开发、测试及生产环境。
1246 4
|
Java 应用服务中间件 Maven
在IntelliJ IDEA中如何配置使用Maven以创建Tomcat环境
所以,别担心这些工具看起来有些吓人,实际上这些都是为了帮助你更好的完成工作的工具,就像超市里的各种烹饪工具一样,尽管它们看起来可能很复杂,但只要你学会用,它们会为你烹饪出一道道美妙的食物。这就是学习新技能的乐趣,让我们一起享受这个过程,攀登知识的高峰!
857 27
|
Java 应用服务中间件 Apache
在IntelliJ IDEA中使用Maven配置Tomcat环境
此配置方法具有较高的实用性,简单易懂。遵循以上步骤,您将能顺利在IntelliJ IDEA中使用Maven配置Tomcat环境,从而进行Web项目的开发和调试。
1821 18
|
IDE 程序员 开发工具
只用正版!教你5个方法,白嫖JetBrains家族的所有产品,包含:IntelliJ IDEA、PyCharm、WebStorm、CLion、Rider
程序员晚枫分享了5种官方认证的免费使用JetBrains家族产品的方法,包括内容创作者计划、开源项目支持、教育许可证、用户组支持和开发者认可计划。这些方法帮助个人开发者与小型团队合法获取强大开发工具,如IntelliJ IDEA、PyCharm等,降低开发成本,提升效率。同时提醒大家遵守使用规范,尊重知识产权。
2906 13