docker构建容器(docker容器环境搭建实验总结)
## Docker 构建容器:从镜像到运行实例### 简介Docker 已经成为现代软件开发和部署流程中不可或缺的一部分。它能够将应用程序及其所有依赖项打包到一个独立的容器中,从而保证了应用在不同环境下的一致性。本文将详细介绍如何使用 Dockerfile 构建 Docker 镜像,并进一步运行为 Docker 容器。### 1. Dockerfile:构建镜像的蓝图#### 1.1 什么是 DockerfileDockerfile 是一个文本文件,包含了一系列指令,用于指导 Docker 引擎构建镜像。每个指令都会在镜像中创建一个新的层,最终形成一个可执行的镜像文件。#### 1.2 常用指令介绍以下是一些常用的 Dockerfile 指令:-
FROM
: 指定基础镜像,例如 `FROM ubuntu:20.04` -
RUN
: 在镜像中执行命令,例如 `RUN apt-get update && apt-get install -y nginx` -
COPY
: 从宿主机复制文件到镜像,例如 `COPY ./app /var/www/html` -
WORKDIR
: 设置工作目录,例如 `WORKDIR /var/www/html` -
EXPOSE
: 声明容器运行时监听的端口,例如 `EXPOSE 80` -
CMD
: 指定容器启动时执行的命令,例如 `CMD ["nginx", "-g", "daemon off;"]`#### 1.3 编写 Dockerfile 示例以下是一个简单的 Dockerfile 示例,用于构建一个运行 Nginx Web 服务器的镜像:```dockerfile # 使用 Ubuntu 20.04 作为基础镜像 FROM ubuntu:20.04# 更新软件包列表并安装 Nginx RUN apt-get update && apt-get install -y nginx# 将当前目录下的 html 文件夹复制到镜像的 /var/www/html 目录 COPY ./html /var/www/html# 设置工作目录为 /var/www/html WORKDIR /var/www/html# 声明容器运行时监听 80 端口 EXPOSE 80# 指定容器启动时执行的命令 CMD ["nginx", "-g", "daemon off;"] ```### 2. 构建 Docker 镜像#### 2.1 使用 docker build 命令在包含 Dockerfile 的目录下,执行以下命令构建镜像:```bash docker build -t my-nginx-image . ```- `-t`: 指定镜像名称和标签,例如 `my-nginx-image:latest` - `.` : 指定 Dockerfile 所在的上下文路径,`.` 表示当前目录#### 2.2 查看构建进度构建过程中,Docker 会逐行执行 Dockerfile 中的指令,并输出相应的日志信息。### 3. 运行 Docker 容器#### 3.1 使用 docker run 命令使用以下命令运行之前构建的镜像:```bash docker run -d -p 8080:80 my-nginx-image ```- `-d`: 后台运行容器 - `-p`: 将容器的 80 端口映射到宿主机的 8080 端口#### 3.2 验证容器运行状态可以使用 `docker ps` 命令查看正在运行的容器,并使用 `docker logs <容器 ID>` 查看容器日志。### 总结本文介绍了使用 Dockerfile 构建 Docker 镜像并运行容器的基本步骤。 Docker 的强大之处在于其简单易用和可移植性, 使得开发者可以更轻松地构建、发布和运行应用程序。