05-容器命令

简介: 本文介绍了Docker容器的常用操作命令,包括启动、查看、启停、删除容器,日志与进程查看,进入容器方式(exec/attach区别),文件拷贝,数据卷挂载与继承,容器导出导入及commit生成镜像等,并涵盖权限处理与典型问题解决方案,助力掌握容器数据持久化与高效管理。

新建启动容器
列出正在运行的容器
列出所有正在运行的容器:
常用参数:
-a:列出当前所有正在运行的容器+历史上运行过的容器
-l:显示最近创建的容器
-n:显示最近n个创建的容器
-q:静默模式,只显示容器编号
容器其他启停操作
启动已经停止的容器
重启容器
停止容器
强制停止容器
删除容器
删除已经停止的容器:
删除容器是 docker rm,删除镜像是 docker rmi,注意区分。
强制删除正在运行的容器:
一次删除多个容器实例:
查看容器日志
查看容器内运行的进程
查看容器内部细节
进入正在运行的容器
进入正在运行的容器,并以命令行交互:
重新进入:
docker exec 和 docker attach 区别:
attach直接进入容器启动命令的终端,不会启动新的进程,用exit退出会导致容器的停止
exec是在容器中打开新的终端,并且可以启动新的进程,用exit退出不会导致容器的停止
如果有多个终端,都对同一个容器执行了 docker attach,就会出现类似投屏显示的效果。一个终端中输入输出的内容,在其他终端上也会同步的显示。
容器和宿主机文件拷贝
容器内文件拷贝到宿主机:
宿主机文件拷贝到容器中:
导入和导出容器
export:导出容器的内容流作为一个tar归档文件(对应import命令);
import:从tar包中的内容创建一个新的文件系统再导入为镜像(对应export命令);
示例:
将容器生成新镜像
docker commit提交容器副本使之成为一个新的镜像。
docker 启动一个镜像容器后, 可以在里面执行一些命令操作,然后使用docker commit将新的这个容器快照生成一个镜像。
Shell
运行代码
复制代码
1
docker commit -m="提交的描述信息" -a="作者" 容器ID 要创建的目标镜像名:[tag]
Docker挂载主机目录,可能会出现报错:cannot open directory .: Perission denied。
解决方案:在命令中加入参数 --privileged=true。
CentOS7安全模块比之前系统版本加强,不安全的会先禁止,目录挂载的情况被默认为不安全的行为,在SELinux里面挂载目录被禁止掉了。如果要开启,一般使用 --privileged=true,扩大容器的权限解决挂载没有权限的问题。也即使用该参数,容器内的root才拥有真正的root权限,否则容器内的root只是外部的一个普通用户权限。
容器数据卷
卷就是目录或文件,存在于一个或多个容器中,由docker挂载到容器,但不属于联合文件系统,因此能够绕过UnionFS,提供一些用于持续存储或共享数据。
特性:卷设计的目的就是数据的持久化,完全独立于容器的生存周期,因此Docker不会在容器删除时删除其挂载的数据卷。
特点:
数据卷可以在容器之间共享或重用数据
卷中的更改可以直接实施生效
数据卷中的更改不会包含在镜像的更新中
数据卷的生命周期一直持续到没有容器使用它为止
运行一个带有容器卷存储功能的容器实例:
Shell
运行代码
复制代码
1
docker run -it --privileged=true -v 宿主机绝对路径目录:容器内目录[rw | ro] 镜像名
可以使用docker inspect查看容器绑定的数据卷。
权限:
rw:读写
ro:只读。如果宿主机写入内容,可以同步给容器内,容器内可以读取。
容器卷的继承:
Shell
运行代码
复制代码
1
2
3
4
5

启动一个容器

docker run -it --privileged=true /tmp/test:/tmp/docker --name u1 ubuntu /bin/bash

使用 --volumes-from 继承 u1的容器卷映射配置

docker run -it --privileged=true --volumes-from u1 --name u2 ubuntu
所有命令示意图

相关文章
|
1天前
|
数据采集 人工智能 安全
|
10天前
|
云安全 监控 安全
|
2天前
|
自然语言处理 API
万相 Wan2.6 全新升级发布!人人都能当导演的时代来了
通义万相2.6全新升级,支持文生图、图生视频、文生视频,打造电影级创作体验。智能分镜、角色扮演、音画同步,让创意一键成片,大众也能轻松制作高质量短视频。
900 150
|
15天前
|
机器学习/深度学习 人工智能 自然语言处理
Z-Image:冲击体验上限的下一代图像生成模型
通义实验室推出全新文生图模型Z-Image,以6B参数实现“快、稳、轻、准”突破。Turbo版本仅需8步亚秒级生成,支持16GB显存设备,中英双语理解与文字渲染尤为出色,真实感和美学表现媲美国际顶尖模型,被誉为“最值得关注的开源生图模型之一”。
1638 8
|
6天前
|
人工智能 前端开发 文件存储
星哥带你玩飞牛NAS-12:开源笔记的进化之路,效率玩家的新选择
星哥带你玩转飞牛NAS,部署开源笔记TriliumNext!支持树状知识库、多端同步、AI摘要与代码高亮,数据自主可控,打造个人“第二大脑”。高效玩家的新选择,轻松搭建专属知识管理体系。
362 152
|
7天前
|
人工智能 自然语言处理 API
一句话生成拓扑图!AI+Draw.io 封神开源组合,工具让你的效率爆炸
一句话生成拓扑图!next-ai-draw-io 结合 AI 与 Draw.io,通过自然语言秒出架构图,支持私有部署、免费大模型接口,彻底解放生产力,绘图效率直接爆炸。
599 152
|
9天前
|
人工智能 安全 前端开发
AgentScope Java v1.0 发布,让 Java 开发者轻松构建企业级 Agentic 应用
AgentScope 重磅发布 Java 版本,拥抱企业开发主流技术栈。
557 13
|
2天前
|
编解码 人工智能 机器人
通义万相2.6,模型使用指南
智能分镜 | 多镜头叙事 | 支持15秒视频生成 | 高品质声音生成 | 多人稳定对话