docker学习二天之镜像操作与容器操作

镜像的一般运用过程

一、镜像(Image)操作

镜像是容器的基础模板,存储在本地或远程仓库中。

1. 镜像拉取
复制代码
# 从指定镜像源拉取
docker pull docker.m.daocloud.io/library/nginx
2. 镜像查看

列出本地镜像

docker images

docker image ls

显示镜像详情

docker inspect <镜像ID或名称>

搜索镜像(需连接Docker Hub)

docker search nginx

3. 镜像管理

删除镜像

docker rmi <镜像ID>

docker image prune # 清理悬空镜像

给镜像打标签

docker tag nginx my-nginx:v1

导出/导入镜像

docker save nginx > nginx.tar

docker load < nginx.tar

4. 构建镜像

通过Dockerfile构建

docker build -t my-app:v1 .

从容器创建新镜像

docker commit <容器ID> my-new-image

总的来说

docker reach 搜索

docker pull 下载

docker rmi 卸载

docker images 列表查看镜像

二、容器(Container)操作

容器是镜像的运行实例。

1. 容器启停

启动新容器

docker run -d --name my-nginx -p 80:80 nginx

启动已停止的容器

docker start <容器ID>

停止容器

docker stop <容器ID>

docker kill <容器ID> # 强制停止

docker stats #查看状态

docker logs 查看日志

重启容器

docker restart <容器ID>

参数解释,-d:是后台运行

--name:重命名

-p 80:80:表示在别的服务器里访问该机80端口的容器的80端口。(也叫端口映射)

在外机访问显示如下:

这是修改后的镜像,要怎么提交,保存和加载呢

首先提交docker commit

参数 -m:你要提交的信息 ,mynginx是指定的容器 ,myngin:v1.0:指定镜像(也就是你命名的)

保存docker save

-o:把myngin:v1.0写出为mynginx.tar压缩包形式文件

mynginx.tar,就可以传给其他人运行

加载docker load

加载成功,后续可以进行操作

2. 容器查看

列出容器

docker ps # 运行中的容器

docker ps -a # 所有容器

查看容器日志

docker logs -f <容器ID>

查看容器资源使用

docker stats <容器ID>

查看容器进程

docker top <容器ID>

查看所有容器,包括停止的

3. 容器交互

进入运行中的容器

docker exec -it <容器ID> /bin/bash

直接运行命令

docker exec <容器ID> ls /app

复制文件

docker cp <容器ID>:/path/to/file ./local_path

docker cp ./local_file <容器ID>:/path/、

参数解释:-it :表示要交互的意思,也就是命令的发送等

/bin/bash:使用的方式,也就是使用bash控制台方式交互

ls / : 列出的是容器里的目录结构。(可以看出跟linux是很相似的,有自己文件系统)

修改容器nginx的默认页面

再刷新一下浏览器

默认页面修改成功

4. 容器管理

删除容器

docker rm <容器ID>

docker rm $(docker ps -aq) # 删除所有停止的容器

重命名容器

docker rename old_name new_name

更新容器配置

docker update --memory 512M <容器ID>

需要注意的是这个删除的容器是要停止的,05a是容器的id前三位也是可以的

三、镜像与容器关系

相关推荐
skywalk816319 分钟前
记录段言的开发过程
开发语言·学习·编程
知识分享小能手19 分钟前
Hadoop学习教程,从入门到精通, MapReduce分布式计算框架 — 完整知识点与代码案例(4)
hadoop·学习·mapreduce
“码”力全开27 分钟前
解耦异构算力:基于 Docker 与边缘计算的 AI 视频管理平台,实现 GB28181/RTSP 统一接入与源码交付深度解析
人工智能·docker·边缘计算
YM52e1 小时前
鸿蒙HarmonyOS ArkTS 实战:教师座椅出入记录 APP 从零到一
学习·华为·harmonyos·鸿蒙系统
踏着七彩祥云的小丑1 小时前
嵌入式测试第 32 天:升级测试:固件OTA升级、断点续传、回滚测试
单片机·嵌入式硬件·学习
小陈phd1 小时前
Text2SQL智能体学习笔记(二)——NL2SQL落地的隐形基石:元数据库
数据库·笔记·学习
踏着七彩祥云的小丑2 小时前
Go学习第4天:条件、循环语句+函数
学习·golang·go
正经教主2 小时前
【docker基础】第六课:Web应用与数据库容器部署
网络·docker·容器
tedcloud1232 小时前
Supermemory部署教程:打造Agent记忆与RAG环境
服务器·人工智能·学习·自动化·powerpoint
Shacoray2 小时前
K8s 中 Ingress 的 HTTPS 证书 如何生成?
容器·https·kubernetes