一、容器生命周期管理
-
创建并启动容器
bash
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]- 常用选项:
-d:后台运行(detached mode)
-p:端口映射(如-p 8080:80)
-v:挂载数据卷(如-v /host/path:/container/path)
-e:设置环境变量(如-e DB_USER=root)
--name:指定容器名称
--restart=always:自动重启策略
示例:
bash
docker run -d -p 80:80 --name nginx nginx:alpine - 常用选项:
-
查看容器
bash
docker ps [OPTIONS]- 选项:
-a:显示所有容器(包括已停止的)
-q:只显示容器 ID
- 选项:
-
停止 / 启动容器
bash
docker stop CONTAINER_ID/NAME # 停止运行中的容器 docker start CONTAINER_ID/NAME # 启动已停止的容器 docker restart CONTAINER_ID/NAME # 重启容器 -
删除容器
bash
docker rm CONTAINER_ID/NAME # 删除已停止的容器 docker rm -f CONTAINER_ID/NAME # 强制删除运行中的容器 -
进入容器
bash
docker exec -it CONTAINER_ID/NAME /bin/bash # 交互式进入容器
二、镜像管理
-
拉取镜像
bash
docker pull IMAGE[:TAG] # 拉取指定镜像 -
查看本地镜像
bash
docker images [OPTIONS] -
构建镜像
bash
docker build [OPTIONS] PATH- 常用选项:
-t:指定镜像标签(如-t myapp:v1)
--no-cache:不使用缓存构建
示例:
bash
docker build -t myapp:v1 . # 在当前目录构建镜像 - 常用选项:
-
推送镜像到仓库
bash
docker push IMAGE[:TAG] # 推送到Docker Hub -
删除镜像
bash
docker rmi IMAGE_ID/NAME[:TAG] # 删除本地镜像
三、网络管理
-
查看网络
bash
docker network ls # 列出所有网络 -
创建自定义网络
bash
docker network create [OPTIONS] NETWORK_NAME- 选项:
--driver:指定网络驱动(默认 bridge)
- 选项:
-
连接容器到网络
bash
docker network connect NETWORK CONTAINER
四、数据卷管理
-
创建数据卷
bash
docker volume create VOLUME_NAME -
查看数据卷
bash
docker volume ls # 列出所有数据卷 -
挂载数据卷到容器
bash
docker run -v VOLUME_NAME:/container/path IMAGE
五、日志与监控
-
查看容器日志
bash
docker logs [OPTIONS] CONTAINER- 选项:
-f:实时跟踪日志输出
--tail N:显示最后 N 行日志
- 选项:
-
查看容器资源使用情况
bash
docker stats [CONTAINER...] # 实时监控CPU、内存等
六、其他常用命令
-
查看容器详细信息
bash
docker inspect CONTAINER_ID/NAME -
导出 / 导入容器
bash
docker export CONTAINER_ID > container.tar # 导出容器为tar文件 docker import container.tar new_image:tag # 导入为新镜像 -
保存 / 加载镜像
bash
docker save IMAGE > image.tar # 保存镜像为tar文件 docker load < image.tar # 加载tar文件为镜像 -
清理无用资源
bash
docker system prune [OPTIONS] # 清理所有未使用的容器、网络、镜像
七、组合命令示例
-
快速部署 Nginx 并映射端口
bash
docker run -d -p 80:80 --name webserver nginx:alpine -
构建并运行自定义应用
bash
# 编写Dockerfile echo "FROM python:3.9-slim\nCMD ['python', '-m', 'http.server', '8000']" > Dockerfile # 构建镜像 docker build -t my-python-app . # 运行容器 docker run -d -p 8000:8000 my-python-app -
在自定义网络中连接多个容器
bash
# 创建网络 docker network create my-network # 运行MySQL容器 docker run -d --name mysql --network my-network -e MYSQL_ROOT_PASSWORD=pass mysql:8 # 运行应用容器并连接到同一网络 docker run -d --name app --network my-network my-app-image
38万+

被折叠的 条评论
为什么被折叠?



