Docker容器
6/17/25About 2 min
Docker容器
构建Docker镜像
构架多平台Docker镜像
Docker Hub创建组织
镜像操作
- 拉取镜像
docker pull [选项] [镜像名]:[标签]
# 示例
docker pull ubuntu:20.04
- 查看本地镜像
docker images
- 构建镜像(Dockerfile)
创建 Dockerfile
# 基础镜像
FROM ubuntu:20.04
# 维护者信息
LABEL maintainer="your@email.com"
# 安装依赖
RUN apt-get update && apt-get install -y \
python3 \
python3-pip \
&& rm -rf /var/lib/apt/lists/*
# 设置工作目录
WORKDIR /app
# 复制应用代码
COPY . .
# 安装应用依赖
RUN pip3 install -r requirements.txt
# 暴露端口
EXPOSE 8000
# 启动命令
CMD ["python3", "app.py"]
构建镜像:
docker build -t my-app:1.0 .
- 导出 / 导入镜像
# 导出
docker save -o my-app.tar my-app:1.0
# 导入
docker load -i my-app.tar
- 删除镜像
docker rmi my-app:1.0
容器操作
- 创建并运行容器
docker run [选项] [镜像名]:[标签] [命令]
# 示例:运行交互式 bash
docker run -it ubuntu:20.04 bash
# 常用选项:
# -d, --detach 后台运行
# -p, --publish 端口映射(主机:容器)
# -v, --volume 挂载卷
# -e, --env 设置环境变量
# --name 指定容器名称
# --restart 重启策略
# --network 指定网络
# 示例:运行 Nginx 并映射端口
docker run -d -p 80:80 --name my-nginx nginx:alpine
- 查看运行中的容器
docker ps
# 查看所有容器(包括已停止的)
docker ps -a
- 进入容器
docker exec -it [容器ID/名称] [命令]
# 示例
docker exec -it my-nginx bash
- 停止 / 启动容器
# 停止
docker stop my-nginx
# 启动
docker start my-nginx
# 重启
docker restart my-nginx
- 删除容器
# 删除已停止的容器
docker rm my-nginx
# 强制删除运行中的容器
docker rm -f my-nginx
# 删除所有已停止的容器
docker container prune
- 查看容器日志
docker logs my-nginx
# 实时查看日志
docker logs -f my-nginx
数据卷与挂载
- 匿名卷
docker run -v /app/data ubuntu:20.04
- 具名卷
# 创建卷
docker volume create my-volume
# 使用卷
docker run -v my-volume:/app/data ubuntu:20.04
- 绑定挂载(主机目录映射)
docker run -v $(pwd)/data:/app/data ubuntu:20.04
- 查看卷
docker volume ls
- 删除卷
docker volume rm my-volume