容器管理命令

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: 在本实验中我们将学习docker中的容器管理命令。

容器管理命令

1. 创建实验资源

开始实验之前,您需要先创建ECS实例资源。

  • 在体验实验室,单击创建资源。
  • (可选)在实验室⻚⾯左侧导航栏中,单击云产品资源列表,可查看本次实验资源相关信息(例如IP地址、⽤户信息等)。

说明:资源创建过程需要1~3分钟。


2. 构建实验环境

在前面的实验中,我们介绍了容器的启动和操作。在本实验中,我们继续介绍Docker中针对容器的操作命令。首先我们会在容器中用python启动一个简单的http服务,以便为后续的实验做准备。

  1. 创建容器

首先我们来创建一个新的ubuntu容器。在创建成功后使用docker exec进入容器控制台。

docker run -itd --name ubuntu-3 ubuntu
docker exec -it ubuntu-3 /bin/bash
  1. 安装工具

为了演示后面的实验,我们在容器中安装python3ifconfigcurl三个命令行工具。其中ifconfig命令工具需要安装net-tools工具包。

apt-get update
apt-get install -y python3 net-tools curl
  1. 运行服务

接下来我们启动一个默认的python3 http服务,服务启动在8000端口,并使用nohup命令将服务设置为在后台运行(nohup:ignoring input and appending output to 'nphup.out'回车)。在服务启动之后,我们再容器中使用curl测试一下服务的运行状态。会看到http服务返回了网页。

nohup python3 -m http.server 8000 &
curl 127.0.0.1:8000


3. 访问容器中的应用

在上一个小节中,我们通过docker启动了一个容器,同时在这个容器中启动了一个http服务。本小节中我们来学习如何访问这个容器中的服务。以及如何查看容器中服务的进程状态查询命令。

  1. 查看容器的网络地址

在容器内部测试http服务成功后,接下来我们需要在宿主机中测试http服务。当容器创建之后,会自动创建属于容器自己的网卡和网络地址,并且保证容器的网卡可以和宿主机互相访问,因此我们先通过ifconfig命令来显示并记录容器的ip地址。然后退出容器的控制台。

ifconfig
exit

  1. 测试访问容器服务

在宿主机控制台中,我们同样使用curl命令来访问容器中的http服务,需要注意的是:在宿主机中我们需要通过上一步容器IP地址才能访问到容器中的服务。通过测试我们发现在宿主机中通过IP访问容器服务活得内容和在容器中获得的内容一致。

curl [容器IP]:8000

  1. 查看容器中的进程

再上一个步骤中我们通过宿主机访问了容器内的服务。除此之外我们还可以在宿主机中通过docker top命令来查看容器中正在运行的具体进程。其命令的语法为docker top 容器名。我们输入如下命令,可以看到ubuntu-3容器运行着2个进程,分别是bash控制台进程和python3http服务器进程。

docker top ubuntu-3


4. 容器的暂停和恢复

上一小节我们学习的容器的暂停和恢复。除了暂停/恢复之外,我们还可以对容器进行启动和停止操作。和暂停恢复不同的是,容器重启之后,容器内部运行的应用会被停止。比较类似于物理机的重新启动。

  1. 容器的停止

首先我们利用docker top命令显示容器中正在运行的应用。接下来我们使用docker stop命令停止容器,停止之后用docker ps -a命令查看容器状态,会发现容器变成了Exited状态

docker top ubuntu-3
docker stop ubuntu-3
docker ps -a

  1. 容器的重启

对于已经进入Exited状态的容器,我们可以利用docker restart命令重新启动容器,当容器重新启动之后,我们再利用docker topcurl测试容器中的http服务,已经不可使用。

docker restart ubuntu-3
docker top ubuntu-3

curl [容器IP]:8000

说明:需要替换您当前宿主机的容器IP地址。第3小节通过ifconfig命令获取到的容器的ip地址

  1. 容器的删除

对于已经不再需要的容器,我们可以使用docker rm命令进行删除,docker rm 命令可以使用CONTAINER ID或者NAME作为参数。在默认情况下,我们只能删除Exited状态下的容器,如果容器的状态不是停止。则需要为docker rm添加--force或者-f参数才可以删除。

docker ps -a
docker rm --force [CONTAINER ID]
docker ps -a

docker rm --force ubuntu-3
docker ps -a

我们会发现容器已经被删除了。

实验链接:https://developer.aliyun.com/adc/scenario/af4320a7d6db40cb93d8e04a91d17c3d

相关文章
|
2月前
|
监控 NoSQL 时序数据库
《docker高级篇(大厂进阶):7.Docker容器监控之CAdvisor+InfluxDB+Granfana》包括:原生命令、是什么、compose容器编排,一套带走
《docker高级篇(大厂进阶):7.Docker容器监控之CAdvisor+InfluxDB+Granfana》包括:原生命令、是什么、compose容器编排,一套带走
317 78
|
1月前
|
Ubuntu NoSQL Linux
《docker基础篇:3.Docker常用命令》包括帮助启动类命令、镜像命令、有镜像才能创建容器,这是根本前提(下载一个CentOS或者ubuntu镜像演示)、容器命令、小总结
《docker基础篇:3.Docker常用命令》包括帮助启动类命令、镜像命令、有镜像才能创建容器,这是根本前提(下载一个CentOS或者ubuntu镜像演示)、容器命令、小总结
182 6
《docker基础篇:3.Docker常用命令》包括帮助启动类命令、镜像命令、有镜像才能创建容器,这是根本前提(下载一个CentOS或者ubuntu镜像演示)、容器命令、小总结
|
2月前
|
关系型数据库 MySQL Docker
《docker高级篇(大厂进阶):5.Docker-compose容器编排》包括是什么能干嘛去哪下、Compose核心概念、Compose使用三个步骤、Compose常用命令、Compose编排微服务
《docker高级篇(大厂进阶):5.Docker-compose容器编排》包括是什么能干嘛去哪下、Compose核心概念、Compose使用三个步骤、Compose常用命令、Compose编排微服务
164 24
|
3月前
|
Java 应用服务中间件 Linux
【Docker容器化技术】docker安装与部署、常用命令、容器数据卷、应用部署实战、Dockerfile、服务编排docker-compose、私有仓库
本文主要讲解了Docker的安装与部署、常用命令、容器数据卷、应用部署实战、Dockerfile、服务编排docker-compose、私有仓库以及Docker容器虚拟化与传统虚拟机比较。
3000 12
【Docker容器化技术】docker安装与部署、常用命令、容器数据卷、应用部署实战、Dockerfile、服务编排docker-compose、私有仓库
|
2月前
|
关系型数据库 MySQL Docker
《docker高级篇(大厂进阶):5.Docker-compose容器编排》包括是什么能干嘛去哪下、Compose核心概念、Compose使用三个步骤、Compose常用命令、Compose编排微服务
《docker高级篇(大厂进阶):5.Docker-compose容器编排》包括是什么能干嘛去哪下、Compose核心概念、Compose使用三个步骤、Compose常用命令、Compose编排微服务
211 6
|
5月前
|
Linux Docker 容器
Docker操作 :容器命令
Docker操作 (四)
226 56
|
4月前
|
存储 关系型数据库 MySQL
|
4月前
|
安全 Shell Linux
docker进入容器命令
docker进入容器命令
149 1
|
4月前
|
缓存 Kubernetes 应用服务中间件
k8s学习--helm的详细解释及安装和常用命令
k8s学习--helm的详细解释及安装和常用命令
141 0
k8s学习--helm的详细解释及安装和常用命令
|
5月前
|
应用服务中间件 Shell nginx
Docker容器操作基础命令
关于Docker容器操作基础命令的教程,涵盖了从启动、查看、删除容器到端口映射和容器信息获取的一系列常用命令及其使用方法。
162 14

热门文章

最新文章

相关产品

  • 容器服务Kubernetes版