Docker 入门 容器及其命令(3)

本文介绍了容器的基本概念,包括其定义、与虚拟机的区别,并详细列举了常用的Docker命令及其使用方法,帮助读者快速掌握容器技术。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、什么是容器?

    容器是一种轻量级,可移植,可将应用程序进行打包的技术。让应用程序在不同的地方以相同的环境运行。

    Docker 每运行镜像文件,就会产生一个容器对象。也就是说容器对象就是镜像的一个实例。

    容器具备一定的生命周期, 最基本的查看命令: docker ps 命令 可以查看正在运行的容器, docker ps -a 可以查看所有的容器

二、容器和虚拟机的异同点

    相同点:

  • 容器和虚拟机一样,都会对物理硬件资源进行共享使用
  • 容器和虚拟机一样,有相似的生命周期(创建,运行,暂停,关闭等等)
  • 容器中或虚拟机中都可以安装各种应用,如redis,mysql,nginx,django应用等,也就是说,对容器的操作其实和对虚拟机(操作系统)的操作是一样的。
  • 容器和虚拟机创建之后,会存储在宿主机中

    不同点:

  • 虚拟机的创建,启动和关闭都是基于一个完整的操作系统。而虚拟机就是一个完整的操作系统。而容器直接运行在linux的内核之上,本质上容器就是一系列进程的集合。
  • 容器是轻量级的,虚拟机是重量级的。容器的创建,启动,关闭需要的资源更少,速度更快。虚拟机的创建,启动,关闭相当于一个操作系统的创建,启动,关闭,需要的资源更多,速度更慢

三、容器常用命令

命令

描述
docker create

创建一个新容器

docker create --help 查看详细用法

格式: docker create [OPTIONS] IMAGE [COMMAND] [ARG...]

例子:docker -ti --name my-container ubuntu bash 

               -t :表示分配一个终端

               -i :表示interactive, 打开STDIN

               --name :表示给容器起名(这里叫my-container),如果没指定就随机生成

              这条命令的作用是从ubuntu镜像中创建ubuntu容器,然后打开bash 

docker start

启动一个或者多个容器

格式:docker start [OPTIONS] CONTAINER [CONTAINER...]

例子:docker start -ai 2598593d89de

           -a : 表示将当前shell的 STDOUT/STDERR 连接到容器上

           -i : 将当前shell的 STDIN连接到容器上

           2598593d89de 指的是容器的id

docker run

利用镜像创建一个容器并启动: 相当于create+run命令

格式:docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

例子:docker run -ti ubuntu bash

               -t :表示分配一个终端

               -i :表示interactive, 打开STDIN

          docker run --rm -d ubuntu ps -A

               --rm :表示容器退出运行后,自动删除容器

               -d: 在后台运行容器并打印出容器ID

docker attach将当前终端的STDIN、STDOUT、STDERR绑定到正在运行的容器的主进程上实现连接
格式:docker attach [OPTIONS] CONTAINER
docker exec

在容器中运行一个命令
格式:docker exec [OPTIONS] CONTAINER COMMAND [ARG...]

例子:docker exec -ti 2598593d89de bash

命令参数:

    -d, --detach                   后台运行命令
    -i, --interactive        即使没连接容器,也将当前的STDIN绑定上
    -t, --tty                      分配一个虚拟终端
    -w, --workdir string           指定在容器中的工作目录
    -e, --env list                 设置容器中运行时的环境变量

docker pause

暂停一个或多个处于运行状态的容器

格式:docker pause CONTAINER [CONTAINER...]

docker unpause

取消一个或多个处于暂停状态的容器,恢复运行

格式:docker unpause CONTAINER [CONTAINER...]

docker stop

关闭一个或多个处于暂停状态或者运行状态的容器

格式:docker stop [OPTIONS] CONTAINER [CONTAINER...]

例子:docker stop -t 5 2598593d89de

          -t 5: 表示5秒后关闭容器, 默认是10秒后关闭容器

                    在5秒之内终止docker stop的执行,容器的关闭就会被撤销

dokcer kill 

强制并立即关闭一个或多个处于暂停状态或者运行状态的容器

格式:docker kill [OPTIONS] CONTAINER [CONTAINER...]

和docker stop 的区别:

     前提知识:Linux其中两种终止进程的信号是:SIGTERM和SIGKILL

     docker stop 会先发出SIGTERM信号给进程,告诉进程即将会被关闭,

     然后在-t指定的时间后发出SIGKILL信号关闭容器。

     docker kill 直接发出SIGKILL信号关闭容器。

docker restart

重启一个或多个处于运行状态、暂停状态、关闭状态或者新建状态的容器

格式:docker restart [OPTIONS] CONTAINER [CONTAINER...]

docker rm 

删除一个或多个容器

格式:docker rm [OPTIONS] CONTAINER [CONTAINER...]

           -f 强行删除容器(会使用 SIGKILL信号) 

docker inspect 

查看本地一个或多个容器的详细信息

格式:docker inspect [OPTIONS] CONTAINER [CONTAINER...]

docker logs

查看容器的日志信息

格式:docker logs [OPTIONS] CONTAINER

docker rename修改容器的名称
格式:docker rename CONTAINER NEW_NAME

     

      容器的生命周期图示如下:

参考内容: https://docs.docker.com/engine/reference/commandline/image/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值