2026.1.29 docker的使用

操作docker镜像

1,获取镜像

docker pull 镜像名称

2,搜寻镜像

(仓库官网 https://hub.docker.com/)

3,查看镜像信息

docker images

4,添加镜像标签,变为特定的标签

docker tag 镜像名 指定镜像名:标签

5,查看镜像详细信息

docker inspect 镜像名:镜像TAG

6,删除和清理镜像

docker rmi -f 镜像ID号

步骤-docker images 查看镜像ID-复制想要删除的镜像ID- 使用docker rmi -f 镜像ID号

7,创建与打包镜像

docker commit 容器名称 新镜像名称:版本号

docker commit 容器ID 新镜像名称

基于已有的容器制作新镜像

8,上传镜像到仓库

docker save -o 指定保存镜像的位置 指定导入的镜像(必须指定保存的名称,不然执行下方docker load命令后,查看镜像,名称和TAG会显示<none>)

(图片转载原至CSDN作者:SDABC工作室)

docker load -i 指定导入的镜像位置

hello-world2.iso

会将指定的镜像导入到仓库

docker pull hello-world

pull镜像hello-world

操作docker容器

1,查看正在运行的容器

docker ps

docker ps -a 查看所有容器

docker run -itd

-i 以交互方式运行容器 -t -d

2,创建并启动容器(推荐)

docker run -itd 镜像ID bash

docker run -itd

3,创建容器

docker create -it 镜像ID

docker create创建完容器后不会自启动,用docker run命令创建完会自启动

4,启动容器

docker start 容器ID

docker restart 容器ID

容器ID用docker ps 查看

5,进入容器

docker exec -it 容器ID bash

进入容器必须保证容器处于 正在运行的状态

退出容器(在容器中输入) exit

6,删除容器

docker rm -f 容器ID

7,停止容器

docker stop 容器ID

容器ID用docker ps 查看

8,导入和导出容器

9,查看容器

docker ps

docker inspect 容器ID

查看容器的详细信息

查看正在运行的容器

docker ps -a

查看所有容器

10,其他容器命令:容器中复制文件、查看文件变更,端口映射,更新配置(容器开机自启)

docker run -itd -p 要使用端口:映射端口 --name="容器名" 容器ID bash

端口映射

docker export -o 导出的镜像路径 容器ID

导出容器

docker import 导入的镜像路径 取一个名称

导入容器

docker cp 本地文件路径 容器ID:/

将主机的文件复制到容器

docker update --restart always 容器ID

开机自启动容器

docker commit 容器ID 新镜像名称

基于已有的容器制作新镜像

1)基于已有的容器创建 2)基于本地模板3)基于dockerfile创建

练习

一、镜像操作

从Docker Hub拉取最新版本的Nginx镜像

docker pull nginx

列出本地所有Docker镜像(包括镜像ID、仓库名、标签、大小等信息)

docker images

删除本地名为"ubuntu:18.04"的镜像(如果存在)

docker rmi -f ubuntu:18:04

docker rmi -f 镜像ID号

使用当前目录下的Dockerfile构建一个名为"myapp:1.0"的镜像

docker build -t myapp:1.0

查看镜像"nginx:latest"的详细信息

docker inspect nginx:latest

给镜像"ubuntu:20.04"添加一个新标签"my-ubuntu:v2"

docker tage ubunut:latest my-ubunut:v2

将本地镜像"myapp:1.0"导出为tar文件"myapp.tar"

复制代码
docker save -o myapp.tar myapp:1.0

二、容器操作

以后台模式运行一个名为"web-server"的Nginx容器

docker run --name web-server nginx:latest

运行一个Nginx容器,并将容器的80端口映射到主机的8080端口

docker run -d -p 8080:80 --name nginx-container nginx

列出所有正在运行的容器

docker ps

列出所有容器(包括已停止的)

docker ps -a

进入名为"web-server"的容器内部并启动交互式终端

docker exec -it web-server bash

停止名为"web-server"的容器

docker stop web-server

启动已停止的容器"web-server"

docker restart web-server

删除已停止的容器"web-server"

docker rm -f web-server

查看容器"web-server"的实时日志(上一题已经删除,所以要重新创建)

docker run -d --name web-server -p 80:80 nginx

docker logs -f web-server

从容器"web-server"中复制文件/usr/share/nginx/html/index.html到当前主机目录

docker cp web-server:/usr/share/nginx/html/index.html /root/

查看所有容器的资源使用情况(CPU、内存等)

docker stats

三、综合操作

清理所有已停止的容器

docker container prune

清理所有未被使用的镜像(悬空镜像)

docker image prune

相关推荐
M-Ellen2 分钟前
从零搭建 Windows + WSL2 + Docker + GitLab CI/CD 完整手册
ci/cd·docker·gitlab
风向决定发型丶8 分钟前
K8S中Pod驱逐介绍
docker·容器·kubernetes
AI_Claude_code10 分钟前
ZLibrary访问困境方案六:自建RSS/Calibre内容同步服务器的完整指南
运维·服务器·网络·爬虫·python·tcp/ip·http
Java后端的Ai之路10 分钟前
sudo 命令详解:Linux 权限管理的“万能钥匙“
linux·运维·服务器·sudo
AI_零食12 分钟前
开源鸿蒙跨平台Flutter开发:生日纪念日提醒应用
运维·flutter·开源·harmonyos·鸿蒙
Zhu75818 分钟前
【软件部署】用docker部署Apache Kafka 集群架构isolated模式带SSL
docker·kafka·apache
海鸥8120 分钟前
Kubernetes 集群中缺少 kagent.dev/v1alpha2
云原生·容器·kubernetes
艾莉丝努力练剑29 分钟前
【QT】Qt常用控件与布局管理深度解析:从原理到实践的架构思考
linux·运维·服务器·开发语言·网络·qt·架构
以太浮标30 分钟前
华为eNSP模拟器综合实验之- WLAN瘦AP配置实战案例详解
运维·网络·网络协议·华为·智能路由器·信息与通信
个性小王31 分钟前
华为-AC+FIT AP组网(web方式)
运维·网络·华为