当前位置: 首页 > news >正文

服务器部署java 的docker项目,以及常用的一些命令

1.编写Dockerfile文件(javaEE)

# 使用 Java 运行时环境作为基础镜像
FROM openjdk:8-jdk-alpine# 将 jar 文件添加到容器中
ADD target/SBoot-ssmp-0.0.1-SNAPSHOT.jar app.jar# 运行 jar 文件
ENTRYPOINT ["java","-jar","/app.jar"]

放在项目或者模块的根目录下

2.项目打包

使用构建工具把项目编译和打成jre包,确定jre包的存放路径

3.进行镜像的构建

从Windows PowerShell中进入存放包的路径执行如下的命令

alt+f +s(在windows文件中快速进入powershell)

构建镜像
docker build -t {project name} .
上传
#登录
docker login#标记镜像
docker tag {project name} name/{project name}   #name为docker账户
#上传镜像到云端
docker push name/{project name}

在服务器中安装docke

在Alibaba Cloud Linux上安装Docker

  1. 安装必要的软件包:

    首先,安装一些必要的软件包,这些软件包将帮助你通过HTTPS使用仓库:

    sudo yum install -y yum-utils
    
  2. 设置Docker仓库:

    接下来,添加Docker的官方仓库到你的系统:

    bashCopy code
    sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
    
  3. 安装Docker Engine:

    现在,安装Docker Engine:

    bashCopy code
    sudo yum install docker-ce docker-ce-cli containerd.io
    
  4. 启动Docker服务:

    安装完成后,启动Docker服务:

    bashCopy code
    sudo systemctl start docker
    
  5. 验证Docker安装:

    为了验证Docker是否正确安装,可以运行一个测试镜像:

    bashCopy code
    sudo docker run hello-world
    

    这个命令会下载一个测试镜像并在容器中运行。如果安装正确,你应该看到一条消息表示你的Docker安装是成功的。

  6. 设置Docker开机自启 (可选):

    如果你希望Docker在系统启动时自动运行,可以使用以下命令:

    bashCopy code
    sudo systemctl enable docker
    

从服务器拉起云端镜像

docker pull name/project name
docker run -d -p 8080:8080 name/project name    #前8080为主机端口,后一个为容器端口
  1. 查看正在运行的容器:

    bashCopy code
    docker ps
    

    这个命令会列出所有当前正在运行的容器。

  2. 查看所有容器(包括停止的):

    bashCopy code
    docker ps -a
    

    -a--all 选项会显示所有容器,无论它们的状态如何。

  3. 查看最近创建的容器:

    bashCopy code
    docker ps -l
    

删除单个镜像:

docker rmi <镜像ID或名称>

停止容器:

docker stop <容器ID或名称>

docker部署mysql

1.拉取镜像

docker pull mysql:5.7

2.创建容器

 docker run -d -p 3306:3306 \
--name mysql \
-v /opt/mysql/log:/var/log/mysql \
-v /opt/mysql/data:/var/lib/mysql \
-v /opt/mysql/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=root \mysql:5.7
#确保conf目录下有子目录 conf.d和mysql.conf.d   否则会出现容器运行错误的情况

3.通过容器中的客户端访问数据库

docker exec -it mysql mysql -uroot -proot

之后就可以执行mysql的命令了

数据库都放在/opt/mysql/data路径下

4.在物理机上访问dockerz中的mysql数据库

安装客户端
yum -y install mariadb
连接语句
mysql -h 47.115.221.108 -uroot -proot -P3306

docker命令

docker命令一键启动所有暂停的容器
docker ps -aq -f status=exited | xargs docker start

相关文章:

  • 可视化图文报表
  • Python爬虫进阶:爬取在线电视剧信息与高级检索
  • 【论文阅读】基于图像处理和卷积神经网络的板式换热器气泡识别与跟踪
  • iOS高级理论:分类和扩展
  • 多微服务合并为一个服务
  • 如何在debian上实现一键恢复操作系统?
  • 在IDEA中创建vue hello-world项目
  • Chapter 10 Basic Magnetics Theory
  • 微服务-实用篇
  • 机器视觉运动控制一体机在光伏汇流焊机器人系统的解决方案
  • Shell echo、printf、test命令
  • 中间件-Nginx漏洞整改(限制IP访问隐藏nginx版本信息)
  • opencv图像腐蚀
  • 低代码与大语言模型的探索实践
  • mac电脑监控软件哪个好
  • Google 是如何开发 Web 框架的
  • [译]前端离线指南(上)
  • Android交互
  • Docker容器管理
  • isset在php5.6-和php7.0+的一些差异
  • Javascript编码规范
  • java多线程
  • JDK 6和JDK 7中的substring()方法
  • React16时代,该用什么姿势写 React ?
  • React的组件模式
  • Redis中的lru算法实现
  • Ruby 2.x 源代码分析:扩展 概述
  • scala基础语法(二)
  • seaborn 安装成功 + ImportError: DLL load failed: 找不到指定的模块 问题解决
  • SpingCloudBus整合RabbitMQ
  • Wamp集成环境 添加PHP的新版本
  • 规范化安全开发 KOA 手脚架
  • 回顾2016
  • 如何借助 NoSQL 提高 JPA 应用性能
  • 用Canvas画一棵二叉树
  • 如何在招聘中考核.NET架构师
  • ​LeetCode解法汇总2670. 找出不同元素数目差数组
  • #100天计划# 2013年9月29日
  • (zhuan) 一些RL的文献(及笔记)
  • (二)Linux——Linux常用指令
  • (附源码)spring boot智能服药提醒app 毕业设计 102151
  • (附源码)计算机毕业设计ssm-Java网名推荐系统
  • (论文阅读11/100)Fast R-CNN
  • (七)c52学习之旅-中断
  • ***php进行支付宝开发中return_url和notify_url的区别分析
  • .Mobi域名介绍
  • .NET Remoting学习笔记(三)信道
  • .NET 中让 Task 支持带超时的异步等待
  • .NET/C# 使用反射调用含 ref 或 out 参数的方法
  • .skip() 和 .only() 的使用
  • [ IOS ] iOS-控制器View的创建和生命周期
  • [ vulhub漏洞复现篇 ] Jetty WEB-INF 文件读取复现CVE-2021-34429
  • [20160902]rm -rf的惨案.txt
  • [Angular] 笔记 16:模板驱动表单 - 选择框与选项
  • [Angularjs]asp.net mvc+angularjs+web api单页应用