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

相关推荐
修己xj1 小时前
Docker 部署 PicGo:一次配置,随处使用
运维·docker·容器
刘某某.2 小时前
在 mac 和 linux 系统上使用 pyenv
linux·运维·macos
Hellc0072 小时前
Jenkins 上下游 Job + Docker 镜像部署完整实战(避坑版)
java·docker·jenkins
A-刘晨阳2 小时前
Prometheus + Grafana + Alertmanager 实现邮件监控告警及配置告警信息
运维·云计算·grafana·prometheus·监控·邮件
是垚不是土2 小时前
OpenTelemetry+Jaeger+ES:分布式链路追踪实战部署
大数据·linux·运维·分布式·elasticsearch·全文检索
惊鸿Randy2 小时前
Docker 环境下 PostgreSQL 16 安装 pgvector 向量数据库插件详细教程(Bitnami 镜像)
数据库·docker·postgresql
曹天骄2 小时前
Cloudflare CDN 预热全面实战指南(含全球 PoP 解析 + 预热覆盖模型)
运维·开发语言·缓存
三不原则2 小时前
AIOps 数据采集:日志/指标/链路数据的整合与标准化
运维
Free Tester2 小时前
在Docker Node环境下安装包
docker·容器