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