【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
相关推荐
前端程序猿i12 小时前
Nginx 教程:从入门到能上线
运维·nginx
木雷坞12 小时前
Qdrant Docker 部署教程:数据卷、API Key 和集合初始化
运维·docker·容器·知识图谱
团象科技12 小时前
外贸站选海外服务器 拆解跨境运营中常被忽略的核心性能细节
运维·服务器
梦梦代码精12 小时前
为什么这个开源的AI平台会火?有点东西。。。
人工智能·算法·机器学习·docker·开源
Lv_沐曦12 小时前
银河麒麟桌面版安装、多屏配置、触摸校准
运维·docker·samba·vsftpd·银河麒麟·触控校准·多屏配置
半壶清水13 小时前
ubuntu下利用ns-3 + NetAnim搭建可视化路由选路过程的方法
linux·运维·ubuntu
ting945200014 小时前
SellerClaw 全栈技术深度拆解:基于多智能体集群的跨境电商全链路自动化系统实现
运维·自动化
三雷科技14 小时前
Rsync 命令详解:Linux 文件同步与备份的艺术
linux·运维·服务器
真实的菜14 小时前
Redis 从入门到精通(十三):性能优化与运维实战 —— 慢查询、内存优化、监控与安全
运维·redis·性能优化
浩风祭月14 小时前
一个开发者的“看门狗”:我把服务器监控从被动告警变成了主动预防
后端·docker