48小时系统班试听入口

Docker的常用命令详解!

发布作者:新盟教育 发布日期:2022-04-13 浏览人数:6587人

Linux运维干货详解



Docker Hello World




1.运行应用程序


Docker 允许你在容器内运行应用程序, 使用 docker run 命令来在容器内运行一个应用程序。

[root@fuyimin home]# docker run centos /bin/echo "hellow world"hellow world



2.运行交互式的容器


docker run -it centos /bin/bash


参数解析:

  • -t : 在新容器内指定一个伪终端或终端。

  • -i : 允许你对容器内的标准输入(STDIN)进行交互。




3.退出容器命令


exit



4.后台模式启动容器


[root@fuyimin home]# docker run -d centos /bin/sh -c "while true;do echo hello world;sleep 1 ;done"716fdf9d9ba4ae9008a5c4bf89b8ff8871c8ca8212403a0b445fca30b4ec841c



列出正在运行的容器:

docker ps
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES


  • CONTAINER ID:容器ID。

  • IMAGE: 使用的镜像。

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

  • CREATED: 容器的创建时间。

  • STATUS: 容器状态。

  • PORTS: 容器的端口信息和使用的连接类型(tcp\udp)。

  • NAMES: 自动分配的容器名称。



状态有7种:

  • created(已创建)

  • restarting(重启中)

  • running 或 Up(运行中)

  • removing(迁移中)

  • paused(暂停)

  • exited(停止)

  • dead(死亡)



镜像的基本命令




1.列出镜像

我们可以使用 docker images 来列出本地主机上的镜像。

1. docker images #列出本机上的镜像
[root@fuyimin home]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED        SIZE
centos       latest    300e315adb2f   7 months ago   209MB# -a , --all  列出所有镜像
# -q , --quiet 只显示镜像的id



各个选项的说明:

  • REPOSITORY:表示镜像的仓库源。

  • TAG :镜像的标签。

  • IMAGE ID :镜像的ID。

  • CREATED :镜像的创建时间。

  • SIZE :镜像的大小。




2.删除镜像


[root@fuyimin home]# docker rmi -f 容器id  #删除指定镜像
[root@fuyimin home]# docker rmi -f 容器id 容器id 容器id #删除多个镜像
[root@fuyimin home]# docker rmi -f $(docker images -aq) #删除全部镜像




3.搜索镜像====


[root@fuyimin home]# docker search mysql
NAME                              DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
mysql                             MySQL is a widely used, open-source relation…   11205     [OK]
mariadb                           MariaDB Server is a high performing open sou…   4259      [OK]
mysql/mysql-server                Optimized MySQL Server Docker images. Create…   833                  [OK]
[root@fuyimin home]# docker search mysql --filter=STARS=3000 #按照STARS来过滤
NAME      DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
mysql     MySQL is a widely used, open-source relation…   11205     [OK]
mariadb   MariaDB Server is a high performing open sou…   4259      [OK]



  • NAME: 镜像仓库源的名称。

  • DESCRIPTION: 镜像的描述。

  • OFFICIAL: 是否 docker 官方发布。

  • stars: 类似 Github 里面的 star,表示点赞、喜欢的意思。

  • AUTOMATED: 自动构建。



4.下载镜像

docker pull 镜像名[:tag]   #不写tag默认最新




容器的基本命令



注:有了镜像才能创建容器。



1.下载镜像



docker pull centos  #下载一个centos镜像




2.启动容器


docker run -it centos /bin/bash



参数说明:

  • -i: 交互式操作。

  • -t: 终端。

  • ubuntu: ubuntu 镜像。

  • /bin/bash:放在镜像名后的是命令,这里我们希望有个交互式 Shell,因此用的是 /bin/bash。



3.列出所有运行的容器


docker ps #列出当前正在运行的容器-a #列出当前正在运行的容器+带出历史运行过的容器-n=?#显示最近创建的容器-q #只显示容器编号



4.退出容器


exit #直接退出停止容器ctrl +P +Q #容器不停止退出



5.删除镜像


docker rm 容器id #删除指定镜像,不能删除正在运行的镜像
docker rm -f $(docker ps -aq) #删除所有镜像
docker ps -a -q |xargs docker rm #删除所有镜像



6.启动和停止容器操作


docker start 容器id #启动容器docker restart 容器id #重启容器docker stop 容器id #停止当前正在运行的容器docker kill 容器id #强制停止当前容器



7.后台启动容器


docker run -d 镜像名[root@fuyimin ~]# docker run -d centos
9f7e1269ae08c802cdd8342f6e90367b252cc9a0081fef5745768a09f54fbaf9#docker容器使用后台运行 ,就必须要有一个前台进程,docker发现没有应用,就会自动停止



8.查看日志


docker logs -f -t --tail 容器# --tf 显示日志# --tail number 要显示日志条数



9.查看容器中进程信息


docker top 容器id   #容器必须启动状态[root@fuyimin ~]# docker top eb21e0562d06
UID                 PID                 PPID                C                   STIME               TTY                 TIME                CMDroot                11620               11600               0                   20:32               pts/0               00:00:00            /bin/bash



10.查看镜像的元数据


docker inspect 容器id[root@fuyimin ~]# docker inspect eb21e0562d06[{"Id": "eb21e0562d06435a3a1d8e36fe3c0f68b0aa955b1e85327ba86021a1bfb4e9d7","Created": "2021-08-04T12:32:56.680271569Z","Path": "/bin/bash","Args": [],"State": {"Status": "running","Running": true,"Paused": false,



11.进入当前正在运行的容器


1. docker exec -it 容器id /bin/bash #推荐大家使用,因为此退出容器终端,不会导致容器的停止。[root@fuyimin ~]# docker exec -it eb21e0562d06 /bin/bash[root@eb21e0562d06 /]#2. docker attach 容器id[root@fuyimin ~]# docker attach eb21e0562d06



12.文件拷贝进主机


docker cp 容器id:/文件目录/文件名 /主机文件目录





推荐阅读

>>>新手必备-Linux入门之云计算是什么

>>>红帽认证入门-Linux系统介绍及企业版本选型

>>>新手必备-Linux系统安装配置+Xshell远程连接

>>>Linux常用命令行合集之绝对路径和相对路径

>>>软连接与硬连接


运维界升职加薪必备的云计算技术,你学了吗?

学完高级运维云计算课程之后,你可以:

  • 跨越90%企业的招聘硬门槛

  • 增加70%就业机会

  • 拿下BAT全国TOP100大厂敲门砖

  • 体系化得到运维技术硬实力

  • 技术大佬年薪可达30w+


客服电话 15822722968 邮箱 799830458@qq.com 地址 天津市红桥区光荣道157号宝能创业中心2号楼-1、2门-907号
官方公众号
商务合作