编写镜像需要的运行环境(Linux、java等),
Dockerfile文件内容如下:
- # 使用官方的 Ubuntu 16.04 镜像作为基础镜像
- FROM ubuntu:16.04
-
- # 更新包列表
- RUN apt-get update
-
- # 安装所需的软件包
- RUN apt-get install -y \
- sudo \
- vim \
- curl \
- && rm -rf /var/lib/apt/lists/*
-
- # 创建一个新的普通用户 "linsy" 并设置密码为 "123456"
- RUN useradd -m -s /bin/bash linsy && \
- echo "linsy:123456" | chpasswd
-
- # 将新用户添加到 sudo 组,分配管理员权限
- RUN usermod -aG sudo linsy
-
- # 切换到新用户
- # USER linsy
-
- # 拷贝文件到容器中(将您的文件拷贝到 /app 目录下)
- # 复制 JDK 压缩文件从 Windows 主机到容器中
- COPY jdk.tar.gz /opt/java/jdk.tar.gz
-
- # 解压JDK文件
- RUN tar -xzvf /opt/java/jdk.tar.gz -C /opt/java
-
- # 设置 JAVA_HOME 环境变量
- ENV JAVA_HOME /opt/java/jdk-17.0.5
- ENV PATH $JAVA_HOME/bin:$PATH
-
- # ********************* 部署应用程序 ***********************
- COPY jxv_wcs_client /opt/work/jxv_wcs_client
-
- #ubantu 16 授权 给 /opt/java文件夹
- # RUN chmod -R 777 /opt/java
-
- # 开放端口(8899、8080、8082)
- EXPOSE 8899 8080 8082
-
- # 关闭防火墙(示例中停用了 ufw 防火墙,您可以根据您的需求停用其他防火墙)
- # RUN apt-get install -y ufw
- # RUN ufw disable
-
- # 设置容器启动命令(示例中使用的是 sleep 命令,您可以替换为您的应用程序启动命令)
- CMD ["sleep", "infinity"]
注意:
1、COPY文件目录问题(如果是windows,应当直接进入相关的文件目录下,执行构建Dockerfile命令)
编写完成cmd后进入当前系统文件目录
docker buildx build -t wcs_client:1.0 .
构建完成后,使用镜像
docker run -d --name wcs_client wcs_client:1.0
docker exec -u root -it wcs_client /bin/bash
清理安装缓存
docker builder prune -a