Docker基础 容器基础命令操作与详解,学docker必须要会的容器命令

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
简介: 这篇文章写了我们学习docker必须要会的基础容器命令,文章会给出这些命令的详细解释和每个参数的使用方法,帮助大家更快的掌握这些命令


以下命令是我们学docker必须要闭着眼睛都要会的基础容器命令:

注意:我们需要拥有镜像才可以创建容器,这里我们下载一个centos镜像来测试学习。

docker pull centos #不写标签默认下载最新版镜像

docker run    新建容器并启动:
docker run [可选参数] 镜像名或ID

参数说明

--name="Name" 容器名字 tomcat01 tomcat02,用来区分容器
-d 后台方式运行
-it 使用交互方式运行,进入容器查看内容
-p 指定容器的端口 -p 8080:8080


-p 主机端口:容器端口 (常用) 
-p 容器端口
-p ip:主机端口:容器端口
 容器端口

-P 随机指定端口 大写的P是随机指定端口,小写的p是手动配置端口

测试,启动并进入容器:

[root@localhost ~]# docker run -it centos /bin/bash #以交互式的运行方式启动容器
[root@a2661bc2e2da /]#

启动成功后,主机名会变成镜像ID

[root@a2661bc2e2da /]# ls
bin dev etc home lib lib64 lost+found media mnt opt proc root run sbin srv sys tmp usr var

推出容器命令:exit

[root@a2661bc2e2da /]# exit
exit
[root@localhost ~]# ls
anaconda-ks.cfg initial-setup-ks.cfg 公共 模板 视频 图片 文档 下载 音乐 桌面
[root@localhost ~]#

退出容器
exit        #停止并退出容器

使用快捷键Ctrl+p+q        #不停止退出容器

停止并退出容器

[root@a2661bc2e2da /]# exit
exit

退出容器,但不停止容器,容器依旧在后台运行

[root@localhost ~]# docker run -it centos /bin/bash
[root@dd5995bd32c8 /]# [root@localhost ~]# #使用快捷键Ctrl+p+q
[root@localhost ~]#

容器内的目录和容器外的目录互相隔离,互不影响。

docker ps    查看容器
参数 :

不带参数        #列出当前正在运行的容器

-a        #列出当前正在运行的容器+带出历史运行过的容器,就等于列出所有容器

-n=?        #显示最近创建的容器  (?的意思是你想看到最近创建的几个容器,填写数字即可)

-q        #只显示容器编号          可以与-a组合使用,-aq查看所有容器的编号,和镜像命令用法相同

[root@localhost ~]# docker ps #查看正在运行的容器
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

[root@localhost ~]# docker ps -a #查看所有容器
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a2661bc2e2da centos "/bin/bash" 9 minutes ago Exited (0) 4 minutes ago boring_chatelet
654f4f39c05e feb5d9fea6a5 "/hello" 3 days ago Exited (0) 3 days ago compassionate_liskov

[root@localhost ~]# docker ps -n=1 #查看最近创建的一个容器
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a2661bc2e2da centos "/bin/bash" 12 minutes ago Exited (0) 7 minutes ago boring_chatelet

[root@localhost ~]# docker ps -aq #查看所有容器的ID编号
a2661bc2e2da
654f4f39c05e
删除容器

删除单个容器:

docker rm -f 容器名或ID

删除所有容器

docker rm -f $(docker ps -aq) #将所有的容器id传递给删除命令,递归删除

第二种删除全部容器的命令:

docker ps -a -q|xargs docker rm

$() 传递参数给该命令
image.png

测试:

[root@localhost ~]# docker rm -f $(docker ps -aq)
dd5995bd32c8 #删除容器会显示出被删除的容器ID
a2661bc2e2da
654f4f39c05e
[root@localhost ~]#
启动和停止容器的操作:

使用这些命令的基础是需要创建了镜像,没有镜像不能直接start启动

docker start 容器ID #启动一个停止的容器
docker restart 容器ID #重启一个容器
docker stop 容器ID #停止一个容器
docker kill 容器ID #暴力停止容器,直接杀死这个容器,强制停止容器
若docker stop报错了 则可以使用docker kill 强制停止容器

根据之前的 $() 符号,可以衍生到这些命令

启动所有容器

[root@localhost ~]# docker start $(docker ps -aq)
f8f5f28eabee
27833ac6fc62
7f497e338757

停止所有容器

[root@localhost ~]# docker stop $(docker ps -aq)
f8f5f28eabee
27833ac6fc62
7f497e338757

也可以重启所有容器等等操作
$()符号 很常用,很方便
进入容器:
进入容器的前提是启动容器

进入容器命令:

docker attach 容器名;ID

启动一个已经创建好的容器

[root@localhost ~]# docker start f8f5f28eabee
f8f5f28eabee

进入这个启动的容器

[root@localhost ~]# docker attach f8f5f28eabee
[root@f8f5f28eabee /]#

相关文章
|
1天前
|
Kubernetes Cloud Native 持续交付
云原生之旅:Docker容器化与Kubernetes集群管理
【9月更文挑战第33天】在数字化转型的浪潮中,云原生技术如同一艘航船,带领企业乘风破浪。本篇文章将作为你的航海指南,从Docker容器化的基础讲起,直至Kubernetes集群的高级管理,我们将一起探索云原生的奥秘。你将学习到如何封装应用、实现环境隔离,以及如何在Kubernetes集群中部署、监控和扩展你的服务。让我们启航,驶向灵活、可伸缩的云原生未来。
|
4天前
|
Kubernetes Cloud Native Docker
云原生时代的容器化实践:Docker与Kubernetes入门
【9月更文挑战第30天】在云计算的浪潮中,云原生技术正以前所未有的速度重塑着软件开发和运维领域。本文将通过深入浅出的方式,带你了解云原生的核心组件——Docker容器和Kubernetes集群,并探索它们如何助力现代应用的构建、部署和管理。从Docker的基本命令到Kubernetes的资源调度,我们将一起开启云原生技术的奇妙之旅。
|
9天前
|
Cloud Native 持续交付 Docker
云原生技术入门与实践:Docker容器化部署示例
【9月更文挑战第25天】在数字化转型的浪潮下,云原生技术成为推动企业创新的重要力量。本文旨在通过浅显易懂的语言,为初学者揭示云原生技术的核心概念及其应用价值。我们将以Docker容器为例,逐步引导读者了解如何将应用程序容器化,并在云端高效运行。这不仅是对技术趋势的跟随,更是对资源利用和开发效率提升的探索。
29 4
|
7天前
|
Kubernetes Linux 开发者
深入探索Docker容器化技术的奥秘
深入探索Docker容器化技术的奥秘
16 1
|
9天前
|
Linux Docker 容器
linux之docker命令
linux之docker命令
|
1天前
|
SQL Shell 数据库
在TDengine容器中创建初始化数据库的Shell命令实例
以上就是在Docker容器环境中部署并初始化TDengine数据库的全过程,希望对你有所帮助。
7 0
|
5天前
|
网络协议 安全 开发者
掌握 Docker 网络:构建复杂的容器通信
在 Docker 容器化环境中,容器间的通信至关重要。本文详细介绍了 Docker 网络的基础知识,包括网络驱动、端口映射和命名等核心概念,并深入探讨了 Bridge、Host、Overlay 和 Macvlan 四种网络类型的特点及应用场景。此外,还提供了创建、连接、查看和删除自定义网络的命令示例,以及高级网络配置方法,如网络命名空间、DNS 解析和安全通信配置,帮助开发者构建更健壮的容器化应用。
|
6天前
|
Cloud Native 持续交付 Docker
深入解析Docker容器化技术及其在生产环境中的应用
深入解析Docker容器化技术及其在生产环境中的应用
10 0
|
7天前
|
存储 Kubernetes Docker
深入探索容器化技术:Docker 实战与 Kubernetes 管理
深入探索容器化技术:Docker 实战与 Kubernetes 管理
21 0
|
8天前
|
Docker 容器
docker容器内需要执行sudo hwclock --systohc吗
docker容器内需要执行sudo hwclock --systohc吗
下一篇
无影云桌面