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

相关推荐
abigriver21 小时前
打造 Linux 离线大模型级语音输入法:Whisper.cpp + 3090 显卡加速与 Rime 中英混输终极调优指南
linux·运维·whisper
charlie1145141911 天前
嵌入式Linux驱动开发pinctrl篇(1)——从寄存器到子系统:驱动演进之路
linux·运维·驱动开发
Agent手记1 天前
异常考勤智能预警与处理与流程优化方案 | 基于企业级Agent的超自动化实战教程
运维·人工智能·ai·自动化
cen__y1 天前
Linux12(Git01)
linux·运维·服务器·c语言·开发语言·git
dapeng-大鹏1 天前
KVM+LVM 零停机在线扩容 Ubuntu 根分区:从磁盘添加到逻辑卷扩展完整
linux·运维·ubuntu·磁盘空间扩展
乐维_lwops1 天前
案例解读|运维监控助力某大型卷烟厂构建高效运维监控体系
运维·运维案例
JiaWen技术圈1 天前
网站用户注册行为验证码方案
运维·安全
仙柒4151 天前
Docker存储原理
运维·docker·容器
DolphinDB1 天前
漫长人工,耗费存储?用 BackupRestore 模块一站式解决跨环境数据同步难题
运维·后端·架构
神奇椰子1 天前
[特殊字符] 服务器搭建网站完整教程
运维·服务器