【docker系列】常用命令

1. 容器管理

1.1 容器生命周期

命令 说明
docker run -d --name my-nginx nginx 启动容器(-d 后台运行)
docker start my-nginx 启动已停止的容器
docker stop my-nginx 停止运行中的容器
docker restart my-nginx 重启容器
docker rm my-nginx 删除已停止的容器
docker rm -f my-nginx 强制删除运行中的容器
docker pause my-nginx 暂停容器进程
docker unpause my-nginx 恢复暂停的容器

1.2 容器状态查看

命令 说明
docker ps 查看运行中的容器
docker ps -a 查看所有容器(包括已停止的)
docker logs my-nginx 查看容器日志
docker logs -f my-nginx 实时跟踪日志
docker inspect my-nginx 查看容器详细信息(JSON 格式)
docker stats 实时监控容器资源占用(CPU/内存)
docker top my-nginx 查看容器内运行的进程

1.3 容器交互

命令 说明
docker exec -it my-nginx bash 进入容器的交互式终端
docker exec my-nginx ls / 在容器内执行命令(非交互式)
docker attach my-nginx 连接到容器的标准输入/输出(慎用)

2. 镜像管理

命令 说明
docker images 查看本地镜像列表
docker pull nginx:latest 拉取镜像
docker push myrepo/my-nginx:v1 推送镜像到仓库
docker rmi nginx:latest 删除本地镜像
docker build -t my-nginx . 通过 Dockerfile 构建镜像
docker save -o nginx.tar nginx:latest 导出镜像为 .tar 文件
docker load -i nginx.tar 从 .tar 文件导入镜像
docker history nginx:latest 查看镜像构建历史

3. 网络管理

命令 说明
docker network ls 查看所有网络
docker network create my-net 创建自定义网络
docker network inspect my-net 查看网络详情
docker network connect my-net my-nginx 将容器连接到网络
docker network disconnect my-net my-nginx 断开容器与网络的连接

4. 数据卷管理

命令 说明
docker volume ls 查看所有数据卷
docker volume create my-vol 创建数据卷
docker volume inspect my-vol 查看数据卷详情
docker volume rm my-vol 删除数据卷
docker run -v my-vol:/data nginx 挂载数据卷到容器
docker run -v /host/path:/container/path nginx 挂载主机目录到容器

5. Docker Compose 常用命令

命令 说明
docker-compose up -d 启动所有服务(后台运行)
docker-compose down 停止并删除所有容器、网络
docker-compose ps 查看服务状态
docker-compose logs -f 查看实时日志
docker-compose build 重新构建镜像
docker-compose exec web bash 进入服务的容器

6. 系统与清理

命令 说明
docker info 查看 Docker 系统信息
docker version 查看 Docker 版本
docker system df 查看磁盘使用情况
docker system prune 清理未使用的镜像、容器、网络
docker system prune -a 清理所有未使用的资源(包括未使用的镜像)

7. 实用技巧

7.1 端口映射

docker run -p 8080:80 nginx  # 将容器的 80 端口映射到主机的 8080

7.2 环境变量

docker run -e MY_ENV=value my-image  # 设置环境变量

7.3 资源限制

docker run --memory=512m --cpus=1 my-image  # 限制内存和 CPU

7.4 查看容器 IP

docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' my-nginx

你可能感兴趣的:(Docker,docker,eureka,java)