-
docker的基础使用
-
docker 是一个开放平台,用于开发、运输和运行应用程序。docker 允许你将应用程序与基础架构分离,从而可以像管理应用程序一样快速交付软件。以下是 docker 的详细使用指南:
安装 docker
- 下载 docker :
根据你的操作系统下载 docker。docker 支持 windows、macos 和各种 linux 发行版。
- 在 docker 官网下载对应操作系统的安装包: docker download
- 安装 :
安装下载的 docker 应用程序。安装过程可能会要求你重启计算机。 - 验证安装 :
打开终端或命令提示符,输入以下命令以验证 docker 是否正确安装:
docker --version
基本 docker 命令
- 运行 hello world 容器 :
运行以下命令,docker 将从 docker hub 下载一个测试镜像,并运行一个容器:
docker run hello-world
- 列出容器 :
- 列出正在运行的容器:
docker ps
- 列出所有容器(包括未运行的):
docker ps -a
- 拉取镜像 :
从 docker hub 拉取一个镜像:
docker pull [image_name]
- 运行容器 :
从镜像运行一个新容器:
docker run -d -p [host_port]:[container_port] [image_name]
- 进入容器 :
进入正在运行的容器:
docker exec -it [container_id] /bin/bash
- 构建 docker 镜像 :
使用 dockerfile 构建新的 docker 镜像:
docker build -t [image_name] .
- 停止容器 :
停止正在运行的容器:
docker stop [container_id]
- 移除容器 :
删除容器:
docker rm [container_id]
- 移除镜像 :
删除镜像:
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,可以确保应用程序在任何环境中都能以相同的方式运行。
发表评论