Dockerfile脚本编写流程及示例

学习dockerfile指令

Dockerfile 指令

说明

FROM

指定基础镜像

MAINTAINER

声明镜像的维护者

LABEL

添加元数据标签

RUN

在容器中执行命令

CMD

容器启动后默认执行的命令

EXPOSE

暴露容器的端口

ENV

设置环境变量

ADD

将文件、目录或远程文件添加到容器中

COPY

将文件或目录复制到容器中

ENTRYPOINT

容器启动时要执行的命令

VOLUME

创建挂载点,用于持久化存储

USER

指定运行容器的用户名或 UID

WORKDIR

设置工作目录

ARG

定义构建参数,可在构建过程中传递给镜像

ONBUILD

在下一级镜像中执行指定的命令

STOPSIGNAL

设置停止容器时发送的信号

HEALTHCHECK

检查容器健康状态的指令

SHELL

设置用于执行 RUN 指令的默认 shell

COPY --chown

复制文件并设置所有者和组

ADD --chown

添加文件并设置所有者和组

也可参考下方:

https://www.jianshu.com/p/4508784f6ddc

编写dockerfile脚本

# v1.0.0
# sudo apt-get update
# sudo apt  install docker.io

# 基础镜像 不写latest默认就是latest
# FROM scratch:表示使用一个空镜像
FROM ubuntu:latest

# 镜像的信息定义,此处的key=value 均是根据实际情况定义
LABEL maintainer="chiyuba@qq.com"  version="0.0.1" description="这是一个带有python的测试镜像"

# 镜像操作命令
# RUN sudo apt-get update \ 
#     && apt-get install vim -y \
#     && sudo apt-get install python3 \
#     && sudo apt-get install python3-pip

RUN apt-get update && \
    DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
    vim \
    python3 \
    python3-pip

# 将test文件复制到home下 test.py表示和dockerfile文件同级目录
COPY test.py /home/


CMD ["python3", "--version"]


# 为容器指定开放端口  EXPOSE 2379/tcp 默认TCP协议,tcp/udp/http/https
EXPOSE 9999

安装docker

sudo apt  install docker.io

执行dockerfile脚本,并生成镜像

sudo docker build -t test_img .

查询镜像

sudo docker images

运行镜像

sudo docker run test_img

相关推荐

  1. Dockerfile基本结构编写详解

    2023-12-05 18:54:03       34 阅读
  2. dockerfile编写

    2023-12-05 18:54:03       17 阅读
  3. GNU/Linux - 系统启动流程rcS脚本介绍

    2023-12-05 18:54:03       13 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-05 18:54:03       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-05 18:54:03       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-05 18:54:03       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-05 18:54:03       20 阅读

热门阅读

  1. 【Rust与AI】概览和方向

    2023-12-05 18:54:03       30 阅读
  2. js中()的作用

    2023-12-05 18:54:03       36 阅读
  3. 【Qt5】Qt中的容器有哪些

    2023-12-05 18:54:03       39 阅读
  4. Redis的基本数据类型及常用命令

    2023-12-05 18:54:03       36 阅读
  5. kotlin中sealed语句的使用

    2023-12-05 18:54:03       34 阅读
  6. ml_collections库介绍

    2023-12-05 18:54:03       39 阅读