返回

Docker学习 | Dockerfile构建基础

前端

Docker 学习 丨 Dockerfile 构建基础

没有环境怎么办?有 dockerfile 就好啦!

Dockerfile 小知识,大挑战!本文正在参与“程序员必备小知识”创作活动

构建步骤:

  1. 编写一个 dockerfile 文件
  2. docker build 构建成为一个镜像
  3. docker run 运行这个镜像

Dockerfile文件


接下来,我们编写一个 Dockerfile 文件。

FROM debian:latest
这个指令指定了基础镜像,也就是我们的构建将从这里开始。

RUN apt-get update && apt-get install -y nginx
这个指令安装了 Nginx web 服务器。它使用 && 符号连接两个命令,这样当第一个命令成功执行后,第二个命令才会执行。

COPY index.html /usr/share/nginx/html
这个指令将 index.html 文件从当前目录复制到容器的 /usr/share/nginx/html 目录。

EXPOSE 80
这个指令告诉 Docker 将容器的 80 端口映射到主机的 80 端口。这样,当您在浏览器中访问 http://localhost 时,就可以看到您的网页了。

构建镜像


使用以下命令构建镜像:
docker build -t my-nginx .

这个命令将在当前目录中查找 Dockerfile 文件,并使用它来构建一个名为 my-nginx 的镜像。

运行镜像


使用以下命令运行镜像:

docker run -p 80:80 my-nginx

这个命令将启动一个新的容器,并将其映射到主机的 80 端口。当您在浏览器中访问 http://localhost 时,就可以看到您的网页了。

Dockerfile 中常用的指令

FROM:指定基础镜像
RUN:运行命令
COPY:复制文件或目录到容器
ADD:复制文件或目录到容器,并允许使用 tar 解压
EXPOSE:声明容器需要开放的端口
CMD:指定容器启动时要运行的命令
ENTRYPOINT:指定容器启动时要运行的程序

结语


通过使用 Dockerfile,我们可以轻松地构建和运行容器。这使得 Docker 成为开发、测试和部署应用程序的理想工具。

扩展


如何在 Dockerfile 中指定环境变量?

可以使用 ENV 指令来指定环境变量。例如:

ENV PORT 8080

如何在 Dockerfile 中添加多个命令?

可以使用 && 或 ; 符号来连接多个命令。例如:

RUN apt-get update && apt-get install -y nginx

如何在 Dockerfile 中添加注释?

可以使用 # 符号来添加注释。注释不会被 Dockerfile 解析器解释。例如:

# This is a comment