Docker:容器
容器化是一种软件开发方法,通过使用容器化的开发方法,应用程序或服务以及他们的依赖和配置可打包再一起成为一个容器镜像。总之容器提供了 隔离性/可移植性/可扩展性/灵活性和对整个应用程序生命周期可控性等方面的优势。这其中最重要的优势是:实现了开发与运维之间的隔离。
Docker容器类似于一个轻量级的沙箱,Docker利用容器来运行和隔离应用。容器是从镜像创建的应用运行实例,可以将其启动、开始、停止、删除等操作,而这些容器都是相互隔离,互不可见的。镜像自身是只读的,容器从镜像启动的时候。Docker会在镜像的最上层创建一个可写层,镜像本身保持不变。
容器的生命周期存在4种状态:
- created 初建状态
- running 运行状态
- stopped 停止状态
- paused 暂停状态
容器操作基本命令:

#创建容器 docker create -it --name=test image:tag #运行容器 docker start containerId #创建并运行容器 docker run -it --name=test image:tag #停止容器 docker stop containId #重启容器 docker restart containId #删除容器 docker rm containId #查看容器(-a查看所有容器,不加该选项时只会显示正在运行的容器) docker ps -a
进入容器的几种方法:

docker attach containId
使用docker attach命令可以进入运行中的容器,但是当同时使用docker attach命令同时在多个终端运行时,所有终端窗口将同步显示相同内容,当某个窗口命令堵塞时,其他终端也无法操作。
Docker从1.3版本开始,提供了一个更加方便的进入容器的命令 docker exec,它不存在attach多终端同时执行命令堵塞的问题。

docker exec -it containId bash
导出容器:

docker export containId > test.tar
导入容器:

docker import test.tar test:1
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY