Docker基础实战Lab2教程
Docker是一种流行的容器化技术,能够帮助我们快速部署和管理应用程序。本次Lab2教程将带您一步步实战操作Docker的基本功能,深入理解Docker的使用方法。🚀
一、实验目标
- 熟悉Docker的基本命令和操作
- 学会构建自定义Docker镜像
- 掌握容器的创建、启动、停止和删除等操作
二、环境准备
- 安装了Docker的Linux系统(建议Ubuntu 20.04)
- 具备基本的Linux命令操作知识
三、Docker基础命令实战
1. 查看Docker版本
docker --version
解释:
docker --version
:查看已安装的Docker版本,确认Docker是否安装成功。
2. 拉取官方的Hello World镜像
docker pull hello-world
解释:
docker pull
:从Docker Hub拉取镜像的命令。hello-world
:官方提供的测试镜像,用于验证Docker安装是否成功。
3. 运行Hello World容器
docker run hello-world
解释:
docker run
:运行一个新的容器。hello-world
:指定使用的镜像名称。
运行后,您应该看到Hello World的欢迎信息,表示Docker运行正常。🎉
四、构建自定义Docker镜像
1. 创建项目目录
mkdir docker-lab2
cd docker-lab2
解释:
mkdir docker-lab2
:创建一个名为docker-lab2的目录。cd docker-lab2
:进入该目录。
2. 编写Dockerfile文件
在 docker-lab2
目录下创建一个名为 Dockerfile
的文件,内容如下:
# 使用官方的Python基础镜像
FROM python:3.8-slim-buster
# 设置工作目录
WORKDIR /app
# 复制当前目录内容到容器内
COPY . /app
# 安装依赖
RUN pip install --no-cache-dir -r requirements.txt
# 暴露端口
EXPOSE 5000
# 指定启动命令
CMD ["python", "app.py"]
解释:
FROM
:指定基础镜像,这里使用Python 3.8的精简版本。WORKDIR
:设置容器内的工作目录为/app
。COPY
:将主机当前目录下的所有文件复制到容器内的/app
目录。RUN
:在容器内执行命令,这里安装Python依赖包。EXPOSE
:声明容器监听的端口号5000
。CMD
:指定容器启动时执行的命令,这里运行app.py
。
3. 创建应用程序文件
编写 app.py
文件,内容如下:
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello():
return "Hello, Docker Lab2!"
if __name__ == '__main__':
app.run(host='0.0.0.0')
解释:
- 使用Flask框架创建一个简单的Web应用,返回
"Hello, Docker Lab2!"
。
创建 requirements.txt
文件,内容如下:
Flask==1.1.2
解释:
- 指定Flask的版本,供
pip
安装依赖。
4. 构建Docker镜像
docker build -t docker-lab2-app .
解释:
docker build
:构建镜像的命令。-t docker-lab2-app
:为镜像指定名称为docker-lab2-app
。.
:表示Dockerfile所在的当前目录。
5. 运行Docker容器
docker run -d -p 5000:5000 docker-lab2-app
解释:
docker run
:运行一个新的容器。-d
:以后台模式运行容器。-p 5000:5000
:将宿主机的5000端口映射到容器内的5000端口。docker-lab2-app
:指定要运行的镜像名称。
现在,打开浏览器访问 http://localhost:5000
,您应该看到 Hello, Docker Lab2!
的页面。🌐
五、管理容器
1. 查看运行中的容器
docker ps
解释:
docker ps
:列出当前运行的容器。
2. 停止容器
docker stop <容器ID或名称>
解释:
docker stop
:停止指定的容器。<容器ID或名称>
:可以使用docker ps
命令获取。
3. 删除容器
docker rm <容器ID或名称>
解释:
docker rm
:删除指定的容器,容器必须是已停止状态。
4. 查看所有容器
docker ps -a
解释:
docker ps -a
:列出所有容器,包括已停止的。
六、实验总结
通过本次Lab2实验,您学会了如何:
- 使用Docker拉取并运行镜像
- 编写Dockerfile构建自定义镜像
- 运行容器并进行端口映射
- 管理容器的启动、停止和删除
七、Docker操作流程图
flowchart TD
A[开始] --> B[编写Dockerfile]
B --> C[构建Docker镜像]
C --> D[运行Docker容器]
D --> E{测试应用是否运行}
E -- 是 --> F[访问应用]
E -- 否 --> G[检查错误]
F --> H[结束]
G --> D
解释:
- A:开始实验。
- B:编写Dockerfile和应用代码。
- C:使用
docker build
构建镜像。 - D:使用
docker run
运行容器。 - E:测试应用是否正常运行。
- F:成功访问应用。
- G:如果有错误,检查并返回运行容器步骤。
- H:实验结束。
八、重要提示
- 注意端口映射:确保宿主机和容器的端口映射正确,否则无法访问应用。
- 检查容器状态:使用
docker ps
和docker logs
命令查看容器运行状态和日志。 - 保持Dockerfile简洁:良好的Dockerfile能够提高镜像的构建速度和效率。
通过本次实战,您已经掌握了Docker的基本使用方法,能够自行构建镜像和管理容器。继续加油,深入学习Docker的更多高级功能吧!💪