一、Docker构建文件Dockerfile入门
Docker是一个构建、打包、部署和运行应用的开放平台,它基于容器的概念,可以让应用程序及其依赖被打包到容器中,从而保证了环境一致性和可移植性。而Dockerfile是Docker构建镜像的核心文件,定义了镜像的构建过程,使得镜像构建更加高效和标准化。
以下是简单的Dockerfile示例:
FROM ubuntu:latest
MAINTAINER userName <userEmail>
RUN apt-get update
RUN apt-get install -y nginx
COPY index.html /usr/share/nginx/html/
CMD ["nginx", "-g", "daemon off;"]
在这个示例Dockerfile中,FROM命令指定了当前要构建的镜像是基于最新的Ubuntu镜像,MAINTAINER命令指定了该镜像的作者和联系信息,RUN命令指定了安装Nginx需要执行的命令,COPY命令将本地同级目录的index.html文件复制到容器的/usr/share/nginx/html/目录,CMD命令则指定了容器启动后所要执行的命令。
二、Dockerfile的常用指令
Dockerfile常用指令如下:
- FROM:指定所使用的基础镜像;
- MAINTAINER:指定作者和联系方式;
- ARG:定义构建时的参数;
- RUN:指定构建镜像时需要执行的命令;
- COPY:将本地文件复制到容器中;
- ADD:封装src目录内的所有文件并复制到镜像的dest目录中;
- CMD:指定容器启动后执行的命令;
- ENTRYPOINT:指定容器启动时执行的命令;
- EXPOSE:容器运行时需要暴露的端口;
- ENV:设置环境变量。
三、Dockerfile示例说明
下面通过两个示例说明Dockerfile的使用。
- 示例一
Dockerfile内容如下:
FROM alpine:latest
RUN apk add --no-cache bash
CMD ["/bin/bash"]
从alpine:latest镜像构建,安装bash,启动容器后在容器中启动bash。
构建这个镜像需要执行以下命令:
docker build -t bash:1.0 .
-t参数指定了容器的名称,1.0为容器的版本号,.表示Dockerfile所在的路径。
如果容器构建成功,可以执行以下命令运行容器:
docker run -it --rm bash:1.0
-it参数表示使用交互式终端运行容器,--rm参数表示容器停止时自动删除容器。
- 示例二
Dockerfile内容如下:
FROM python:3.8
WORKDIR /app
ADD . /app
RUN pip install -r requirements.txt
CMD ["python", "app.py"]
从python:3.8镜像构建,将当前目录下的所有文件复制到容器的/app目录中,执行requirements.txt中的依赖安装,启动容器后在容器中启动app.py。
构建这个镜像需要执行以下命令:
docker build -t myapp:1.0 .
-t参数指定了容器的名称,1.0为容器的版本号,.表示Dockerfile所在的路径。
如果容器构建成功,可以执行以下命令运行容器:
docker run -p 5000:5000 myapp:1.0
-p参数表示将容器内部端口5000映射到宿主机的5000端口上。
以上就是Docker构建文件Dockerfile简单入门的完整攻略,希望对大家有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Docker构建文件Dockerfile简单入门 - Python技术站