容器引擎Docker的常用命令

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: 使用docker run命令,即可新建并启动一个容器。对于已停止的容器,可使用 docker start命令来启动

一.镜像相关命令

1.搜索镜像

可使用 docker search命令搜索存放在 Docker Hub中的镜像。执行该命令后, Docker就会在Docker Hub中搜索含有 java这个关键词的镜像仓库

docker search java

e88c317a64bea8dac9982effb2bda15b_2944e2ec30cb46029f138cfa1f62c96a.png

以上列表包含五列,含义如下:


NAME:镜像仓库名称。

DESCRIPTION:镜像仓库描述。

STARS:镜像仓库收藏数,表示该镜像仓库的受欢迎程度,类似于 GitHub的 stars0

OFFICAL:表示是否为官方仓库,该列标记为[0K]的镜像均由各软件的官方项目组创建和维护。

AUTOMATED:表示是否是自动构建的镜像仓库。

2.下载镜像

使用命令docker pull命令即可从 Docker Registry上下载镜像,执行该命令后,Docker会从 Docker Hub中的 java仓库下载最新版本的 Java镜像。如果要下载指定版本则在java后面加冒号指定版本 , 例如 :

docker pull java:8
docker pull nginx

3.列出镜像

使用 docker images命令即可列出已下载的镜像


docker images

42c2e63527a6fb08b648a4b2d559f6ce_885221a280eb4503aea940e73d8b9b4a.png


以上列表含义如下


REPOSITORY:镜像所属仓库名称。

TAG:镜像标签。默认是 latest,表示最新。

IMAGE ID:镜像 ID,表示镜像唯一标识。

CREATED:镜像创建时间。

SIZE: 镜像大小。

4. 删除本地镜像

使用 docker rmi命令即可删除指定镜像,强制删除加 -f


docker rmi java

删除所有镜像

docker rmi $(docker images -q)

二.容器相关命令

3.1.新建并启动容器

使用以下docker run命令即可新建并启动一个容器,该命令是最常用的命令,它有很多选项,下面将列举一些常用的选项。


-d选项:表示后台运行
-P选项:随机端口映射
-p选项:指定端口映射,有以下四种格式。
     -- ip:hostPort:containerPort
     -- ip::containerPort
     -- hostPort:containerPort
     -- containerPort
--net选项:指定网络模式,该选项有以下可选参数:
  --net=bridge:默认选项,表示连接到默认的网桥。
  --net=host:容器使用宿主机的网络。
  --net=container:NAME-or-ID:告诉 Docker让新建的容器使用已有容器的网络配置。
  --net=none:不配置该容器的网络,用户可自定义网络配置
docker run -d -p 8091:80 nginx

这样就能启动一个 Nginx容器。在本例中,为 docker run添加了两个参数,含义如下:


-d 后台运行

-p 宿主机端口:容器端口 #开放容器端口到宿主机端口


访问 http://Docker宿主机 IP:8091/,将会看到nginx的主界面如下:


29dcbc98f2917d91aee7825a0746c639_191cca47b1c746539f480767d2106b39.png

需要注意的是,使用 docker run命令创建容器时,会先检查本地是否存在指定镜像。如果本地不存在该名称的镜像, Docker就会自动从 Docker Hub下载镜像并启动一个 Docker容器。


2.列出容器

用 docker ps命令即可列出运行中的容器


docker ps

8ced364c320ed4cbfc82a1439011b33b_b2c5f09ae50341cc89902fd0daad4338.png

如需列出所有容器(包括已停止的容器),可使用-a参数。该列表包含了7列,含义如下


CONTAINER_ID:表示容器 ID。

IMAGE:表示镜像名称。

COMMAND:表示启动容器时运行的命令。

CREATED:表示容器的创建时间。

STATUS:表示容器运行的状态。UP表示运行中, Exited表示已停止。

PORTS:表示容器对外的端口号。

NAMES:表示容器名称。该名称默认由 Docker自动生成,也可使用 docker run命令的–name选项自行指定。

3. 停止容器

使用 docker stop命令,即可停止容器

docker stop fa4f759234fa

其中fa4f759234fa是容器 ID,当然也可使用 docker stop容器名称来停止指定容器


4.强制停止容器

可使用 docker kill命令发送 SIGKILL信号来强制停止容器

docker kill fa4f759234fa

5.启动已停止的容器

使用docker run命令,即可新建并启动一个容器。对于已停止的容器,可使用 docker start命令来启动

docker start fa4f759234fa

6.查看容器的所有信息

docker inspect fa4f759234fa

7.查看容器日志

docker container logs fa4f759234fa

8.查看容器里的进程

docker top fa4f759234fa

9.容器与宿主机相互复制文件

从容器里面拷文件到宿主机:


docker cp 容器id:要拷贝的文件在容器里面的路径 宿主机的相应路径


docker cp fa4f759234fa:/etc/nginx/nginx.conf /mydata/nginx

从宿主机拷文件到容器里面:


docker cp 要拷贝的宿主机文件路径 容器id:要拷贝到容器里面对应的路径


docker cp /mydata/nginx fa4f759234fa:/etc/nginx/nginx.conf 

10.进入容器

使用docker exec命令用于进入一个正在运行的docker容器。如果docker run命令运行容器的时候,没有使用-it参数,就要用这

个命令进入容器。一旦进入了容器,就可以在容器的 Shell 执行命令了


docker exec ‐it f0b1c8ab3633 /bin/bash (有的容器需要把 /bin/bash 换成 sh)

11.容器内安装vim、ping、ifconfig等指令

apt-get update
apt-get install vim #安装vim
apt-get install iputils-ping #安装ping
apt-get install net-tools #安装ifconfig


12.删除容器

使用 docker rm命令即可删除指定容器

docker rm fa4f759234fa

该命令只能删除已停止的容器,如需删除正在运行的容器,可使用-f参数

强制删除所有容器


docker rm -f $(docker ps -a -q)


相关实践学习
通过workbench远程登录ECS,快速搭建Docker环境
本教程指导用户体验通过workbench远程登录ECS,完成搭建Docker环境的快速搭建,并使用Docker部署一个Nginx服务。
深入解析Docker容器化技术
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。     相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
2天前
|
Linux 持续交付 Go
Docker常用命令总结
这篇文章总结了Docker的基本操作,包括Docker的简介、镜像、容器和仓库的概念。介绍了如何在CentOS上安装和卸载Docker,以及常用Docker命令,如查看和删除镜像、运行和管理容器、文件拷贝和日志查看。还提供了一个curl命令示例来测试本地容器服务。完整内容请参考原文链接:[Docker命令总结](https://blog.csdn.net/javayoungcoolboy/article/details/134975314)。
|
2天前
|
监控 Kubernetes Docker
【Docker 专栏】Docker 容器内应用的健康检查与自动恢复
【5月更文挑战第9天】本文探讨了Docker容器中应用的健康检查与自动恢复,强调其对应用稳定性和系统性能的重要性。健康检查包括进程、端口和应用特定检查,而自动恢复则涉及重启容器和重新部署。Docker原生及第三方工具(如Kubernetes)提供了相关功能。配置检查需考虑检查频率、应用特性和监控告警。案例分析展示了实际操作,未来发展趋势将趋向更智能和高效的检查恢复机制。
【Docker 专栏】Docker 容器内应用的健康检查与自动恢复
|
1天前
|
Ubuntu Docker 容器
docker容器保存和导入
docker容器保存和导入
15 0
|
1天前
|
Ubuntu Docker 容器
清理docker容器
清理docker容器
11 0
|
2天前
|
Prometheus 监控 Cloud Native
构建高效稳定的Docker容器监控体系
【5月更文挑战第14天】 在现代微服务架构中,Docker容器作为应用部署的基本单元,其运行状态的监控对于保障系统稳定性和性能至关重要。本文将探讨如何构建一个高效且稳定的Docker容器监控体系,涵盖监控工具的选择、关键指标的采集、数据可视化以及告警机制的设计。通过对Prometheus和Grafana的整合使用,实现对容器资源利用率、网络IO以及应用健康状态的全方位监控,确保系统的高可用性和故障快速响应。
|
2天前
|
Prometheus 监控 Cloud Native
构建高效稳定的Docker容器监控体系
【5月更文挑战第13天】在微服务架构和容器化部署日益普及的背景下,对Docker容器的监控变得尤为重要。本文将探讨一种构建高效稳定Docker容器监控体系的方法,通过集成Prometheus和cAdvisor工具,实现对容器资源使用情况、性能指标和运行状态的实时监控。同时,结合Grafana进行数据可视化,为运维人员提供直观的分析界面,以便及时发现和解决潜在问题,保障系统的高可用性和稳定性。
29 6
|
2天前
|
存储 安全 开发者
如何删除 Docker 镜像、容器和卷?
【5月更文挑战第11天】
19 2
如何删除 Docker 镜像、容器和卷?
|
2天前
|
NoSQL Redis Docker
Mac上轻松几步搞定Docker与Redis安装:从下载安装到容器运行实测全程指南
Mac上轻松几步搞定Docker与Redis安装:从下载安装到容器运行实测全程指南
19 0
|
2天前
|
存储 安全 数据库
【Docker 专栏】Docker 容器内应用的状态持久化
【5月更文挑战第9天】本文探讨了Docker容器中应用状态持久化的重要性,包括数据保护、应用可用性和历史记录保存。主要持久化方法有数据卷、绑定挂载和外部存储服务。数据卷是推荐手段,可通过`docker volume create`命令创建并挂载。绑定挂载需注意权限和路径一致性。利用外部存储如数据库和云服务可应对复杂需求。最佳实践包括规划存储策略、定期备份和测试验证。随着技术发展,未来将有更智能的持久化解决方案。
【Docker 专栏】Docker 容器内应用的状态持久化
|
2天前
|
机器学习/深度学习 监控 Kubernetes
【Docker 专栏】Docker 容器内服务的自动扩展与缩容
【5月更文挑战第9天】本文探讨了Docker容器服务的自动扩展与缩容原理及实践,强调其在动态业务环境中的重要性。通过选择监控指标(如CPU使用率)、设定触发条件和制定扩展策略,实现资源的动态调整。方法包括云平台集成和使用Kubernetes等框架。实践中,电商平台和实时数据处理系统受益于此技术。注意点涉及监控数据准确性、扩展速度和资源分配。未来,智能算法将提升扩展缩容的效率和准确性,成为关键技术支持。
【Docker 专栏】Docker 容器内服务的自动扩展与缩容