容器管理命令

本文涉及的产品
容器镜像服务 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

相关文章
|
7月前
|
关系型数据库 MySQL 应用服务中间件
Docker容器常用命令大全:熟练掌握使容器优化更加高效
Docker容器常用命令大全:熟练掌握使容器优化更加高效
181 0
|
7月前
|
Prometheus 监控 Cloud Native
【云原生】Docker容器命令监控+Prometheus监控平台
【云原生】Docker容器命令监控+Prometheus监控平台
236 0
【云原生】Docker容器命令监控+Prometheus监控平台
|
8天前
|
Linux 开发者 Docker
如何构建在 Docker 容器中运行命令?
【1月更文挑战第6天】
64 0
|
8天前
|
运维 监控 Linux
【专栏】Docker命令`docker ps`的使用,包括列出运行中的容器、筛选特定容器、组合使用与其他命令配合以及在故障排查中的应用
【4月更文挑战第28天】本文介绍了Docker命令`docker ps`的使用,包括列出运行中的容器、筛选特定容器、组合使用与其他命令配合以及在故障排查中的应用。通过基础和高级用法示例,如列出所有容器、搜索特定镜像、监控资源使用等,帮助读者理解和提升容器管理效率。对于Linux运维工程师,掌握`docker ps`是必备技能。
|
8天前
|
存储 Ubuntu 安全
Docker容器常用命令
Docker容器常用命令
28 1
|
8天前
|
Linux Docker 容器
docker 容器常用命令
docker 容器常用命令
17 0
|
8天前
|
开发工具 Docker 索引
docker容器中没有vi编辑命令,简单的处理方法
docker容器中没有vi编辑命令,简单的处理方法
51 0
|
8天前
|
监控 数据可视化 虚拟化
Docker容器常用命令笔记分享
Docker容器常用命令笔记分享
57 2
|
8天前
|
Kubernetes Shell Docker
容器服务ACK常见问题之容器服务ACK kubectl命令写到shell脚本失败如何解决
容器服务ACK(阿里云容器服务 Kubernetes 版)是阿里云提供的一种托管式Kubernetes服务,帮助用户轻松使用Kubernetes进行应用部署、管理和扩展。本汇总收集了容器服务ACK使用中的常见问题及答案,包括集群管理、应用部署、服务访问、网络配置、存储使用、安全保障等方面,旨在帮助用户快速解决使用过程中遇到的难题,提升容器管理和运维效率。
|
8天前
|
Shell Docker 容器
Docker的常用命令:加速你的容器化开发与部署
Docker的常用命令:加速你的容器化开发与部署
58 0