Quantcast
Channel: 小蓝博客
Viewing all articles
Browse latest Browse all 3155

Docker基础实战Lab2教程

$
0
0

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 psdocker logs命令查看容器运行状态和日志。
  • 保持Dockerfile简洁:良好的Dockerfile能够提高镜像的构建速度和效率。

通过本次实战,您已经掌握了Docker的基本使用方法,能够自行构建镜像和管理容器。继续加油,深入学习Docker的更多高级功能吧!💪


Viewing all articles
Browse latest Browse all 3155

Trending Articles