Docker的基础使用

  • Docker的基础使用

  • Docker 是一个开放平台,用于开发、运输和运行应用程序。Docker 允许你将应用程序与基础架构分离,从而可以像管理应用程序一样快速交付软件。以下是 Docker 的详细使用指南:

安装 Docker

  1. 下载 Docker :
    根据你的操作系统下载 Docker。Docker 支持 Windows、macOS 和各种 Linux 发行版。
  1. 安装 :
    安装下载的 Docker 应用程序。安装过程可能会要求你重启计算机。
  2. 验证安装 :
    打开终端或命令提示符,输入以下命令以验证 Docker 是否正确安装:
docker --version

基本 Docker 命令

  1. 运行 Hello World 容器 :
    运行以下命令,Docker 将从 Docker Hub 下载一个测试镜像,并运行一个容器:
docker run hello-world
  1. 列出容器 :
  • 列出正在运行的容器:
docker ps
  • 列出所有容器(包括未运行的):
docker ps -a
  1. 拉取镜像 :
    从 Docker Hub 拉取一个镜像:
docker pull [image_name]
  1. 运行容器 :
    从镜像运行一个新容器:
docker run -d -p [host_port]:[container_port] [image_name]
  1. 进入容器 :
    进入正在运行的容器:
docker exec -it [container_id] /bin/bash
  1. 构建 Docker 镜像 :
    使用 Dockerfile 构建新的 Docker 镜像:
docker build -t [image_name] .
  1. 停止容器 :
    停止正在运行的容器:
docker stop [container_id]
  1. 移除容器 :
    删除容器:
docker rm [container_id]
  1. 移除镜像 :
    删除镜像:
docker rmi [image_name]

使用 Dockerfile

Dockerfile 是一个文本文件,包含了一系列的指令,用于定义如何构建一个 Docker 镜像。

例子:

# 使用官方 Python 运行时作为父镜像
FROM python:3.7-slim

# 设置工作目录为 /app
WORKDIR /app

# 将当前目录内容复制到位于 /app 的容器中
COPY . /app

# 安装 requirements.txt 中指定的任何所需包
RUN pip install --trusted-host pypi.python.org -r requirements.txt

# 使端口 80 可供此容器外的环境使用
EXPOSE 80

# 定义环境变量
ENV NAME World

# 在容器启动时运行 app.py
CMD ["python", "app.py"]

注意事项

  • 数据持久化 :
    Docker 容器是临时性的。当容器被删除时,保存在其中的数据也会丢失。要持久化数据,可以使用 Docker 卷(volumes)或者绑定挂载(bind mounts)。
  • 容器通信 :
    Docker 容器可以彼此通信,可以通过 Docker 网络功能来实现。
  • 安全 :
    注意不要在 Docker 容器中运行不安全或不受信任的应用程序。默认情况下,容器以 root 用户身份运行。
  • 资源限制 :
    可以限制容器使用的资源,例如 CPU、内存。
  • Docker Compose :
    对于更复杂的应用程序,建议使用 Docker Compose 来管理多个容器。

Docker 的这些功能使其成为一个非常强大的工具,用于开发、测试和部署应用程序。通过 Docker,可以确保应用程序在任何环境中都能以相同的方式运行。

相关推荐

  1. Docker基础使用

    2023-12-28 15:18:04       34 阅读
  2. Docker 基本使用

    2023-12-28 15:18:04       32 阅读
  3. docker 基本指令使用

    2023-12-28 15:18:04       18 阅读
  4. Docker基础使用

    2023-12-28 15:18:04       35 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-28 15:18:04       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-28 15:18:04       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-28 15:18:04       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-28 15:18:04       18 阅读

热门阅读

  1. 北航人机交互复习

    2023-12-28 15:18:04       25 阅读
  2. 编程笔记 html5&css&js 008 HTML图片

    2023-12-28 15:18:04       31 阅读
  3. 在react中引用echarts

    2023-12-28 15:18:04       34 阅读
  4. Kotlin 枚举类

    2023-12-28 15:18:04       39 阅读
  5. 工具系列:TensorFlow决策森林_(6)模型预测

    2023-12-28 15:18:04       30 阅读
  6. Kotlin 密封类与接口

    2023-12-28 15:18:04       39 阅读
  7. 计算机网络的7层协议和4层协议的区别

    2023-12-28 15:18:04       38 阅读
  8. Linux:环境变量

    2023-12-28 15:18:04       32 阅读
  9. 2024 年软件工程将如何发展

    2023-12-28 15:18:04       26 阅读