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

相关推荐
聆风吟º16 分钟前
CANN开源项目实战指南:使用oam-tools构建自动化故障诊断与运维可观测性体系
运维·开源·自动化·cann
ShiLiu_mtx25 分钟前
k8s - 7
云原生·容器·kubernetes
NPE~26 分钟前
自动化工具Drissonpage 保姆级教程(含xpath语法)
运维·后端·爬虫·自动化·网络爬虫·xpath·浏览器自动化
神梦流34 分钟前
GE 引擎的内存优化终局:静态生命周期分析指导下的内存分配与复用策略
linux·运维·服务器
春日见1 小时前
车辆动力学:前后轮车轴
java·开发语言·驱动开发·docker·计算机外设
xuhe21 小时前
[全流程详细教程]Docker部署ClawBot, 使用GLM4.7, 接入TG Bot实现私人助理. 解决Docker Openclaw Permission Denied问题
linux·docker·ai·github·tldr
Lsir10110_1 小时前
【Linux】进程信号(下半)
linux·运维·服务器
skywalk81632 小时前
unbound dns解析出现问题,寻求解决之道
运维·服务器·dns·unbound
酉鬼女又兒2 小时前
零基础入门Linux指南:每天一个Linux命令_pwd
linux·运维·服务器
云飞云共享云桌面2 小时前
高性能图形工作站的资源如何共享给10个SolidWorks研发设计用
linux·运维·服务器·前端·网络·数据库·人工智能