docker创建ubuntu容器,且在该容器内启动jar包

一、创建并运行ubuntu容器

docker run --name docker_ubuntu(容器名称) -it 

-v /home/docker_ubuntu:/share  // 将本地路径挂载到share目录下

--restart=always  --privileged=true  // 设置容器退出时重启容器

-p 20000:20000  // 映射内外端口,这里可以多个端口,为了以防万一,可以写多个-p的端口备用

docker.io/library/ubuntu  // ubuntu来源

/bin/bash    // shell命令

// 一行如下

docker run --name docker_ubuntu -it -v /home/docker_ubuntu:/share --restart=always -p 20000:20000 --privileged=true docker.io/library/ubuntu /bin/bash

二、容器内创建java环境

1、下载jdk的gz包(网上找资源,1.8版本以上比较好)

2、下载vim

        OO:我这版本是没有vi、vim指令的,所以需要先下载

第一步:更新安装源:

apt-get update

第二步:更新完毕以后再敲命令:

apt-get install -y vim

3、编辑.bashrc文件:

第一步:

vi ~/.bashrc

第二步:按“i”,在数据内容最后按enter键,添加如下内容;完成后按ESC退出编辑,按Shift+:wq! 保存退出文件。

export JAVA_HOME=/share/java/jdk1.8.0_101 // 根据你实际的jdk存放位置
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tool.jar
export PATH=$PATH:$JAVA_HOME/bin

第三步:使得立马生效

source ~/.bashrc

三、编写运行脚本,启动容器时,运行该脚本

第一步:打开脚本文件

vi /root/run.sh

第二步:写入脚本数据

#!/bin/bash
source ~/.bashrc

第三步:运行脚本添加执行权限

chmod u+x /root/run.sh

此时,在容器内输入:java -version即可看到jdk的版本信息!

四、将jar包放入挂载的本地路径下,使用nohup守护指令启动jar包

nohup java -Dfile.encoding=utf-8 -Xms1024m -Xmx2048m -XX:MetaspaceSize=1028m -XX:MaxMetaspaceSize=2048m -jar xxx.jar >nohup/xxx.log &

题外话:本人用的若依框架,日志用的logback,要注意的是,几个jar包必须在其当前目录下启动,否则不会在jar同级生成各自的log文件包,具体原因没去查,可能是原配置的问题吧。

参考文献:https://huaweicloud.youkuaiyun.com/63311d28d3efff3090b5297f.html

### 创建启动Docker容器 #### 使用`docker run`命令创建启动容器 为了创建启动一个 Docker 容器,最常用的方法是通过 `docker run` 命令。此命令不仅能够基于指定的镜像来启动一个新的容器实例,还可以配置各种选项以满足不同的需求[^1]。 ```bash docker run [OPTIONS] IMAGE [COMMAND] [ARG...] ``` - **IMAGE**: 需要使用的镜像名称或ID。 - **COMMAND/ARG**: 可选参数,在容器启动时执行特定指令。 对于初次使用者来说,可以尝试如下简单例子: ```bash docker run hello-world ``` 这条语句会拉取官方仓库中的 `hello-world` 测试镜像,并展示一条欢迎消息给用户,以此验证环境设置是否成功。 #### 构建自定义应用镜像 如果打算部署自己的Java应用程序,则需先将其打JAR文件形式,之后编写相应的Dockerfile描述如何构建该程序对应的Docker镜像。完成这些准备工作以后,就可以利用下面提到的方式来进行操作了[^2]: 1. 编写合适的Dockerfile; 2. 执行构建过程得到新的镜像; 3. 利用新生成的镜像去运行实际的服务。 例如,针对Spring Boot项目而言,可以在项目的根目录下放置一个名为`Dockerfile` 的文本文件,其内容可能类似于这样: ```dockerfile FROM openjdk:8-jdk-alpine VOLUME /tmp COPY myapp.jar app.jar ENTRYPOINT ["java","-jar","/app.jar"] ``` 接着按照常规流程编译好 Java 应用并将产生的 JAR 文件命名为 `myapp.jar` 放在同一路径下;随后便能依据上述Dockerfile 来制造专属的应用服务镜像了。 最后一步就是调用 `docker build` 和 `docker run` 这两个工具链上的核心组件实现整个工作流自动化处理。 #### 卸载旧版本Docker软件 在某些情况下,比如更换操作系统或者升级到最新版之前,有必要清理掉先前已安装的老版本组件以免造成冲突影响正常使用体验。此时可参照以下方法卸除不再需要的部分[^3]: ```bash sudo apt-get remove docker docker-engine docker.io containerd runc ``` 以上命令适用于Debian系Linux发行版(如Ubuntu),其他类型的系统则应查找对应平台下的指导说明文档进行相应调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值