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

【Docker】Dockerfile构建镜像

一、编写Dockerfile文件

        编写镜像需要的运行环境(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命令)

二、构建docker镜像

        编写完成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

http://www.lryc.cn/news/170761.html

相关文章:

  • fota升级,可卸载apk也进行更新
  • ASP.NET dotnet 3.5 实验室信息管理系统LIMS源码
  • 2023!6招玩转 Appium 自动化测试
  • WireShark抓包分析TCP三次握手过程,TCP报文解析
  • 【C语言】指针和数组笔试题解析
  • Vue的模板语法(下)
  • Zookeeper客户端——I0Itec-zkClient
  • 火山引擎 ByteHouse:ClickHouse 如何保证海量数据一致性
  • hashmap使用
  • Centos7配置国内yum源
  • C#中async/await的线程ID变化情况
  • 网络安全—黑客技术—自学笔记
  • 功夫再高也怕菜刀。多年经验,会独立开发的机器视觉工程师,技术太强,但是找工作能力差劲
  • numpy的多项式函数: `poly1d`
  • Python灰帽编程——错误异常处理和面向对象
  • 【20230919】win11无法删除Chrome注册表项
  • TCP/IP客户端和服务器端建立通信过程
  • Python ---使用Fake库向clickhouse造数据小案例
  • 09MyBatisX插件
  • 使用 Messenger 跨进程通信
  • Spring Cloud Gateway
  • JVM 优化技术
  • 【MySQL系列】- MySQL自动备份详解
  • 指针笔试题讲解-----让指针简单易懂(2)
  • 使用windbg分析dump文件的方法
  • 【论文阅读 07】Anomaly region detection and localization in metal surface inspection
  • SSM - Springboot - MyBatis-Plus 全栈体系(十一)
  • 深度剖析贪心算法:原理、优势与实战
  • Docker搭建DNS服务器--use
  • “顽固”——C语言用栈实现队列