Docker Command

Docker 安装

Docker下载

[root@docker ~]# yum install docker-ce docker-ce-cli containerd.io --allowerasing

docker-ce: Docker 的社区版。
docker-ce-cli: Docker 的命令行工具。
containerd.io: Docker 的容器运行时。
–allowerasing 选项允许 yum 删除当前安装的任何与 Docker 冲突的软件包,以便顺利安装这些组件。这个选项有助于解决依赖冲突问题

启动Docker

开启docker : systemctl start docker
查看docker状态 :systemctl status docker
停止:systemctl stop docker
重启: systemctl restart docker
docker开机自启: systemctl enable docker

[root@docker ~]# systemctl start docker #启动docker
[root@docker ~]# systemctl status docker #查看docker 运行状态
[root@docker ~]# systemctl enable docker #设置docker自启

image-20241009191141952

image-20241009191449661

查看安装的docker版本(启动docker后才能使用docker命令)

[root@docker ~]# docker -v

image-20241009191608652

Docker 常用命令

搜索镜像:docker search 镜像名

[root@docker ~]# docker search centos

[!WARNING]

image-20241009193119776

国内从 DockerHub 拉取镜像有时会遇到困难,此时可以配置镜像加速器。Docker 官方和国内很多云服务商都提供了国内加速器服务。设置镜像:

第一步:

vim /etc/docker/daemon.json

第二步:

{ “registry-mirrors”:[ “https://cr.console.aliyun.com”,“https://docker.m.daocloud.io”,“https://public.ecr.aws”,“https://dockerhub.timeweb.cloud”]
}
第三步(重启docker服务):

systemctl restart docker

  • 查询方式一【命令行】:docker search register.liberx.info/镜像名
[root@docker ~]# docker search register.liberx.info/centos

image-20241009224337171

  • 查询方式二【浏览器搜索】:

    https://register.liberx.info

    image-20241009224932837

拉取镜像:docker pull 镜像名:版本号

[root@docker ~]# docker pull centos

image-20241009200628999

列出当前机器上的Docker镜像:docker images

[root@docker ~]# docker images

image-20241009200719624

列名描述
REPOSITORY镜像所属的仓库名称
TAG与镜像相关联的标签。标签用于区分同一仓库中不同版本的镜像
IMAGE ID镜像的唯一标识符,通常表示为长十六进制字符串。此 ID 用于在其他 Docker 命令中引用该镜像。
CREATED镜像创建的日期和时间。这有助于识别镜像的年龄。
SIZE镜像在磁盘上的大小。这表示该镜像占用多少存储空间。

查看镜像/容器/数据卷所占系统空间:docker system df

image-20241009201228033

  • TYPE:对象的类型。可以是镜像(Images)、容器(Containers)、本地数据卷(Local Volumes)或构建缓存(Build Cache)。
  • TOTAL:该类型对象的总数。
  • ACTIVE:当前正在使用的对象数量。对于容器而言,这表示正在运行的容器数量。对于镜像,它可能表示被容器引用的镜像数量。
  • SIZE:该类型对象占用的总磁盘空间。这是所有对象占用的磁盘空间总和,包括活动和非活动的对象。
  • RECLAIMABLE:可回收的磁盘空间大小。这表示可以通过删除未使用或不再需要的对象来释放的磁盘空间。对于镜像,这可能包括未被任何容器引用的镜像;对于容器,这可能包括已停止且未被任何进程引用的容器。

删除镜像:docker rmi 镜像ID/镜像名

image-20241009202601726

[!WARNING]

删除所有镜像: docker rmi -f $(docker images -qa)

创建容器并启动新容器:docker run [OPTIONS] IMAGE[:TAG|@DIGEST] [COMMAND] [ARG...]

常用OPTIONS:

  • -d, --detach:在后台运行容器,并打印容器ID。这是运行长时间运行的服务时常用的选项。
  • -i, --interactive:保持容器的标准输入(STDIN)开放。
  • -t, --tty:分配一个伪终端(pseudo-TTY)。通常与 -i 一起使用,以交互模式运行容器。
  • --name:为容器指定一个名称。如果不指定,Docker 会自动生成一个名称。
1.以交互模式运行 Ubuntu 容器

image-20241009204158819

2.以交互模式运行并创建名为 “myubuntu” 的容器

image-20241009204718443

3.在后台运行Redis容器

image-20241009205739864

交互模式的两种退出方式

e64b02c6e13d5be50ed4a23383142a99

image-20241009210332305

exit - 输入exit后容器退出并停止运行

image-20241009210447754

ctrl+p+q(同时按住) - 容器退出,并在后台运行

image-20241009210711097

Docker容器command

命令说明
docker start [容器ID或名称]启动一个或多个已经停止的Docker容器
docker stop [容器ID或名称]停止一个或多个正在运行的Docker容器。容器会收到SIGTERM信号,允许它优雅地关闭
docker restart [容器ID或名称]重启一个或多个Docker容器。这实际上是先执行docker stop再执行docker start
docker rm [容器ID或名称]删除一个或多个已经停止的Docker容器。正在运行的容器无法被删除
docker kill [容器ID或名称]强制停止一个或多个正在运行的Docker容器。容器会收到SIGKILL信号,立即终止
启动容器:docker start 容器名/ID
[root@docker ~]# docker start myubuntu

image-20241009214521476

启动容器:docker stop 容器名/ID
[root@docker ~]# docker stop myubuntu

image-20241009214847974

删除容器:docker rm 容器名/ID
[root@docker ~]# docker rm fervent_wilbur 

image-20241009215130636

杀掉容器(强制停止):docker kill 容器名/ID
[root@docker ~]# docker kill friendly_moser 

image-20241009215605277

显示所有当前活动的(即正在运行的)容器的信息:docker ps

docker ps 命令的常用选项和它们的功能:

  • -a--all:显示所有容器(包括停止运行的容器)。
  • -q--quiet:仅显示容器ID。
  • --no-trunc:不截断输出信息,显示完整的容器ID、命令等信息。
  • -l:显示最近创建的1个容器。
  • -n:显示最近创建的n个容器。例如,docker ps -n 5 将显示最近的5个容器。
显示正在运行的容器信息
[root@docker ~]# docker ps  # 显示正在运行的容器信息

image-20241009211730277

显示所有容器信息
[root@docker ~]# docker ps -a  # 显示正在运行的容器信息

image-20241009212039787

仅显示所有容器的CONTAINER ID
[root@docker ~]# docker ps -qa  # 显示所有容器的ID

image-20241009212313019

显示最新创建的1个容器
[root@docker ~]# docker ps -l  # 显示最新创建的1个容器

image-20241009212523745

显示最新创建的n个容器
[root@docker ~]# docker ps -n 3  # 显示最新创建的3个容器

image-20241009213143760

查看完整的容器ID
[root@docker ~]# docker ps --no-trunc  # 查看当前运行的完整容器ID信息

image-20241009213340481

查看容器运行日志docker logs 容器名/ID

[root@docker ~]# docker logs myubuntu

image-20241009220029259

查看容器进程 docker top 容器名/ID

[root@docker ~]# docker top myubuntu

image-20241009220346063

  • UID: 用户ID,表示运行该进程的用户。
  • PID: 进程ID,是容器内部为该进程分配的唯一标识符。
  • PPID: 父进程ID,表示创建该进程的父进程的ID。
  • C: CPU使用率,通常以百分比表示,但在这个上下文中它可能表示进程的CPU优先级或调度类
  • STIME: 进程启动时间,表示进程开始运行的时间。
  • TTY: 终端类型,表示进程关联的终端。
  • TIME: CPU时间,表示进程自启动以来使用的CPU总时间。
  • CMD: 命令,表示启动进程的命令行。

查看容器详细信息:docker inspect 容器名/ID

[root@docker ~]# docker inspect myubuntu 

image-20241009223039616

  • Id:容器的唯一标识符(UUID)。
  • Created:容器的创建时间。
  • Path:容器启动时执行的命令。
  • Args:传递给命令的参数。
  • State:容器的状态,包括是否正在运行、退出码、开始和结束时间等。
  • Image:容器使用的镜像的详细信息。
  • NetworkSettings:容器的网络配置,包括 IP 地址、端口映射等。
  • Mounts:容器内的挂载点,包括卷、绑定挂载和临时文件系统挂载。
  • Config:容器的配置信息,如环境变量、工作目录、入口点等。
  • HostConfig:主机的配置信息,如资源限制、端口绑定、日志选项等。

进入容器attach/exec

image-20241009221901058

docker attach 容器名/ID
[root@docker ~]# docker attach myubuntu

image-20241009222151839

docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
[root@docker ~]# docker exec -it myubuntu /bin/bash

image-20241009222753968

复制容器内的文件到本地主机docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH

  • CONTAINER 是目标容器的名称或 ID。
  • SRC_PATH 是源路径,可以是宿主机上的文件或目录,也可以是容器内的文件或目录。
  • DEST_PATH 是目标路径,与 SRC_PATH 相对,表示文件或目录应该被复制到的位置。
[root@docker ~]# docker cp myubuntu:/a.txt /

yubuntu /bin/bash


[外链图片转存中...(img-yTM9OfbX-1728489770956)]



### 复制容器内的文件到本地主机`docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH`

- `CONTAINER` 是目标容器的名称或 ID。
- `SRC_PATH` 是源路径,可以是宿主机上的文件或目录,也可以是容器内的文件或目录。
- `DEST_PATH` 是目标路径,与 `SRC_PATH` 相对,表示文件或目录应该被复制到的位置。

```bash
[root@docker ~]# docker cp myubuntu:/a.txt /

image-20241009174920654

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值