Docker核心命令_容器命令
Docker核心命令_容器命令
当我们有了镜像,才可以创建容器, 创建一个centos容器来学习
创建容器
Docker的容器十分轻量级,用户可以随时创建或者删除容器。
语法格式
docker create -it 镜像名字
注意:
使用docker create命令新建的容器处于停止状态,可以使用docker start命令来启动它。
列出容器
docker ps
参数:
- -a: 显示未启动容器
- -q:返回容器id号
新建并启动容器
启动容器有两种方式,一种是基于镜像新建一个容器并启动,另外一个是将在终止状态( stopped)的容器重新启动。所需要的命令主要为docker run,等价于先执行docker create命令,再执行docker start命令。
语法格式:
docker run 镜像名字 /bin/echo 'hello world'
Docker在后台运行的标准操作包括:
- 检查本地是否存在指定的镜像,不存在就从公有仓库下载。
- 利用镜像创建并启动一个容器。
- 分配一个文件系统,并在只读的镜像层外面挂载一层可读写层。
- 从宿主主机配置的网桥接口中桥接一个虚拟接口到容器中去。
- 从地址池配置一个IP地址给容器。
- 执行用户指定的应用程序。
- 执行完毕后容器被终止。
下面命令则启动一个bash端,运行用户交互
docker run -t -i 镜像名字 /bin/bash
参数:
其中,-t选项让Docker 分配一个伪终端(pseudo-tty)并绑定到容器的标准输入上,-i则让容器的标准输入保持打开。
exit命令退出。
守护态运行
更多的时候,需要让Docker容器在后台以守护态(Daemonized)形式运行。用户可以通过添加-d参数来实现。
语法格式:
docker run -d 镜像名字 /bin/sh -c "while true; do echo hello world ;sleep 1 ;done"
容器启动后会返回一个唯一的ID,也可以通过docker ps命令来查看容器信息:
docker ps
获取容器输出信息
docker logs 容器id
终止容器
语法格式:
docker stop 容器id
处于终止状态的容器,可以通过docker start命令来重新启动:
docker start 容器id
此外,docker restart命令会将一个运行态的容器终止,然后再重新启动
docker restart 容器id
进入容器
在使用-d参数时,容器启动后会进入后台,用户无法看到容器中的信息。某些时候如果需要进入容器进行操作,有多种方法,包括使用docker attach命令、docker exec命令,以及nsenter工具等。
attach命令
语法格式:
docker attach 容器id
注意:
但是使用attach命令有时候并不方便。当多个窗口同时attach 到同一个容器的时候,所有窗口都会同步显示。当某个窗口因命令阻塞时,其他窗口也无法执行操作了。
exec命令
Docke自1.3版本起,提供了一个更加方便的工具exec,可以直接在容器内运行命令。例如进入到刚创建的容器中,并启动一个bash:
docker exec -it 容器id /bin/bash
删除容器
语法格式:
docker rm 容器id
参数:
- -f, --force=false强行终止并删除一个运行中的容器。
- -l, --link=false删除容器的连接,但保留容器。
- -V,--volumes=false删除容器挂载的数据卷。
退出
#如果docker容器在启动的时候没有加 -d 参数
2
exit # 会直接停止同期并退出
3
Ctrt + p + q # 容器不停止 并退出
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库