Docker命令解读-六

本文详细介绍了Docker中的关键容器管理命令,包括create、rm、start、stop等,并解释了它们的功能及使用场景,适合Docker初学者快速上手。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

title: Docker命令解读(六)
date: 2015-11-24 15:57:02
tags: docker

categories: Docker Commands

Docker命令解读系列文章将系统讲解Docker使用的命令,方便大家学习Docker的基本操作。在写这个系列文章的时候,主要参考了Docker官方的文档,有些内容是直接的翻译。原文档地址 Docker Docs
转载请注明出处

本篇文章涉及的命令都与容器相关,主要有下面几个命令:
- create
- rm
- start
- stop
- restart
- pause
- unpause
- rename

create

create命令用于创建一个容器,但与run里面不同的是并不运行它,在你需要的时候,可以通过docker start <container_id>命令运行一个状态为created的容器。

Usage: docker create [OPTIONS] IMAGE [COMMAND] [ARG...]

Create a new container

更多关于docker create命令的参数可以运行docker create --help查看。
举例:

$ docker create -t -i fedora bash
6d8af538ec541dd581ebc2a24153a28329acb5268abe5ef868c1f1a261221752
$ docker start -a -i 6d8af538ec5
bash-4.2#

特别的,你可以使用docker create命令并指定-v标识创建一个数据容器,然后在其他的容器中使用这个数据容器。例如:

$ docker create -v /data --name data ubuntu
240633dfbb98128fa77473d3d9018f6123b99c454b3251427ae190a7d951ad57
$ docker run --rm --volumes-from data ubuntu ls -la /data
total 8
drwxr-xr-x  2 root root 4096 Dec  5 04:10 .
drwxr-xr-x 48 root root 4096 Dec  5 04:11 ..

rm

Usage: docker rm [OPTIONS] CONTAINER [CONTAINER...]

Remove one or more containers

  -f, --force=false      Force the removal of a running container (uses SIGKILL)
  --help=false           Print usage
  -l, --link=false       Remove the specified link
  -v, --volumes=false    Remove the volumes associated with the container

docker rm命令用于删除一个不需要的容器,格式为:

docker rm <container_id>|<container_name>

需要注意的是,被删除的容器的状态必须是停止的,不能删除正在运行的容器。如果确实需要删除,可以先执行docker stop停止后在删除,或者指定-f(--force)标识强制删除运行中的容器(通过发送SIGKILL信号实现)。
docker rm命令可以同时指定多个容器,或者使用下面的命令删除所有停止的容器:

docker rm $(docker ps -a -q)

使用上面的命令不会删除正在运行容器。
使用--link标识可以删除两个容器之间通过--link建立的连接,如:

docker rm --link /webapp/redis

这条命令会删除webapp容器和redis容器之间的所有网络连接。
如果想省去每次删除不需要容器的麻烦,可以在docker run中指定--rm标识,这样容器停止后会自动删除。这在测试中会很有用。

start

docker start命令上面我们已经提到过,它用来使一个处在停止状态的容器运行起来。

Usage: docker start [OPTIONS] CONTAINER [CONTAINER...]

Start one or more containers

  -a, --attach=false         Attach STDOUT/STDERR and forward signals
  --help=false               Print usage
  -i, --interactive=false    Attach container's STDIN

其中-a标识用于将要运行容器的STDOUTSTDERR绑定到控制台输出;而-i标识用于将STDIN绑定到控制台用于和容器交互。

stop

stop命令用于停止一个正在运行的容器。

Usage: docker stop [OPTIONS] CONTAINER [CONTAINER...]

Stop a container by sending SIGTERM and then SIGKILL after a
grace period

  --help=false       Print usage
  -t, --time=10      Seconds to wait for stop before killing it

停止容器的过程中,容器首先收到SIGTERM信号表示要停止容器,在经过一个“宽限期”后,容器收到SIGKILL信号强制停止容器。其中“宽限期”由-t(--time)标识指定,单位是秒。

restart

restart命令用于重新启动一个正在运行的容器,它同样可以使用-t标识设定“宽限期”,具体用法如下:

Usage: docker restart [OPTIONS] CONTAINER [CONTAINER...]

Restart a container

  --help=false       Print usage
  -t, --time=10      Seconds to wait for stop before killing the container

pause

Usage: docker pause [OPTIONS] CONTAINER [CONTAINER...]

Pause all processes within a container

  --help=false    Print usage

使用这个命令暂停容器内所有的进程。

unpause

Usage:  docker unpause [OPTIONS] CONTAINER [CONTAINER...]

Unpause all processes within a container

  --help=false       Print usage

pause对应,恢复容器内所有的进程。

rename

Usage: docker rename [OPTIONS] OLD_NAME NEW_NAME

Rename a container

  --help=false    Print usage

docker rename命令用于对一个容器进行重命名。

### Docker Application Container Engine 配置概述 Docker 是一种容器化技术,允许开发者创建、部署和运行分布式应用程序。Docker 应用程序容器引擎(Application Container Engine)是一个核心组件,负责管理容器生命周期以及与主机操作系统交互。 当遇到 `Failed to start Docker Application Container Engine` 的错误时,通常涉及以下几个方面: #### 卸载旧版本 Docker 如果之前已安装过旧版 Docker,则可能需要清理残留配置以避免冲突。可以通过以下命令卸载旧版 Docker 及其关联包[^1]: ```bash $ sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine ``` #### 安装最新版 Docker 完成旧版卸载后,应按照官方文档重新安装最新的稳定版本 Docker。这一步骤有助于修复因版本不兼容引起的问题。 #### 检查并重载服务配置 在某些情况下,修改了 Docker 的配置文件却未同步更新 systemd 服务定义,可能导致启动失败。此时可尝试刷新守护进程缓存并重启服务: ```bash $ sudo systemctl daemon-reload $ sudo systemctl restart docker.service ``` 上述操作能够确保新的配置生效[^2]。 #### 确认 Docker Daemon 是否正常工作 日志显示无法连接到 Docker 套接字 `/var/run/docker.sock`,表明 Docker 守护进程可能并未成功启动。需验证该路径下是否存在有效套接字文件。若缺失,可通过手动方式启动调试模式下的 Docker 守护进程来排查原因: ```bash $ sudo dockerd -D ``` 此命令会启用详细日志记录功能以便于分析具体异常情况[^4]。 #### 日志中的常见提示信息解读 从提供的日志片段来看,“Cannot connect to the Docker daemon at unix:///var/run/docker.sock.” 明确指出当前环境缺少可用的 Docker 守护进程实例[^3]。进一步调查应当围绕为何守护进程未能按预期初始化展开。 --- ### 总结 针对 `Docker Application Container Engine` 启动失败的情况,建议依次执行如下动作:移除遗留软件包以防干扰;依据官方指南正确部署新版本;调整完成后记得通知系统关于变更的内容并通过标准流程激活改动后的设置最后再确认基础设施层面是否有阻碍因素存在比如权限不足或者依赖项丢失等问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值