学习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