【Docker 基础教程】Docker命令运行原理及一些简单的操作命令

✈前言

前面介绍到了Docker的安装与基本配置,本篇就着重说一下Docker的基本操作指令,基本操作包括Docker服务的启动与关闭,容器的启动与关闭以及检测容器的状态、容器内数据的持久化。明白了这些基础操作才可以进行下一步的复杂操作。层层递进。本篇笔记跟随的是b站周阳老师,传送门放在了下方,感兴趣或有疑问的小伙伴可以留言,或者直接传送过去瞧一瞧。

传送门


在这里插入图片描述


✈指令运行原理

Docker文件目录

/var/lib/docker/
├── containers
├── image
│   └── overlay2
│       ├── distribution
│       ├── imagedb
│       │   ├── content
│       │   │   └── sha256
│       │   └── metadata
│       │       └── sha256
│       ├── layerdb
│       └── repositories.json
├── network
│   └── files
│       └── local-kv.db
├── overlay2
│   └── l
├── plugins
│   ├── storage
│   │   └── blobs
│   │       └── tmp
│   └── tmp
├── swarm
├── tmp
├── trust
└── volumes
    └── metadata.db

运行原理

请添加图片描述

✈启动、关闭Docker

✒启动关闭

启动docker:

systemctl start docker

停止docker:

systemctl stop docker

重启docker:

systemctl restart docker

如果没有启动docker的话使用docker命令得到的结果将是

请添加图片描述

启动成功之后使用docker命令的话得到的将是

请添加图片描述

✒查看docker状态

查看docker状态:

systemctl status docker

开机启动:

systemctl enable docker

查看docker概要信息:

docker info

✒获取帮助

查看docker总体帮助文档:

docker -help

查看docker命令帮助文档:

 docker 具体命令-help

✈镜像命令

✒列举本地主机的镜像

docker images

后跟参数说明:

-q 只显示镜像ID

-a 列出本地所有镜像(含历史映像层)

请添加图片描述
REPOSITORY:表示镜像的仓库源 TAG:镜像的标签版本号 IMAGE ID:镜像ID CREATED:镜像创建时间 SIZE:镜像大小

同一仓库源可以有多个 TAG版本,代表这个仓库源的不同个版本,我们使用 REPOSITORY:TAG 来定义不同的镜像。

如果你不指定一个镜像的版本标签,例如你只使用 ubuntu,docker 将默认使用 ubuntu:latest 镜像

✒寻找某个镜像

docker search 镜像名字

目标网址是https://hub.docker.com

参数说明:

limit:只列出N个镜像(默认25个)
请添加图片描述

请添加图片描述
NAME 镜像名称
DESCRIPTION 镜像说明
STARS 点赞数量
OFFICIAL 是否是官方的
AUTOMATED 是否是自动构建的

✒下载镜像

docker pull 镜像名[版本号]

如果名字不带版本号的话,默认是最新版本(latest)。如果带上版本号才会去寻找对应的版本

请添加图片描述

请添加图片描述

✒查看镜像/容器/数据卷所占的空间

 docker system df

请添加图片描述

✒删除镜像

docker rmi 镜像名或ID

删除单个镜像 docker rmi -f 镜像ID

删除多个镜像 docker rmi -f 镜像名1:版本号 镜像名2:版本号

删除全部镜像 docker rmi -f $(docker images -qa)

请添加图片描述

✒谈谈docker 虚悬镜像是什么?

仓库名、标签名、都是<none>的镜像,俗称虚悬镜像dangling image

请添加图片描述

✈容器命令

有了镜像才可以创建容器,镜像通过pull进行拉取

✒新建启动容器

❄常规方式启动容器

命令原型:docker run [options] image [command][arg…]

OPTIONS说明(常用):有些是一个减号,有些是两个减号

–name=“容器新名字” 为容器指定一个名称;

-d: 后台运行容器并返回容器ID,也即启动守护式容器(后台运行);

-i:以交互模式运行容器,通常与 -t 同时使用;

-t:为容器重新分配一个伪输入终端,通常与 -i 同时使用;

也即启动交互式容器(前台有伪终端,等待交互);

-P: 随机端口映射,大写P

-p: 指定端口映射,小写p

请添加图片描述

❄交互式启动容器

命令原型:docker run -it 容器名 /bin/bash

使用镜像centos:latest以交互模式启动一个容器,在容器内执行/bin/bash命令。

docker run -it centos /bin/bash

参数说明:

-i: 交互式操作。

-t: 终端。

centos : centos 镜像。

/bin/bash:放在镜像名后的是命令,这里我们希望有个交互式 Shell,因此用的是 /bin/bash。要退出终端,直接输入 exit:

✒查看容器运行状态

docker ps [options]

请添加图片描述
OPTIONS说明(常用):

-a :列出当前所有正在运行的容器+历史上运行过的

-l :显示最近创建的容器。

-n:显示最近n个创建的容器。

-q :静默模式,只显示容器编号。
请添加图片描述

✒退出容器

交互式容器停止:

容器不停止:ctrl+p+q(退出容器容器不停止)

容器停止:exit(退出容器,容器停止)

守护容器停止:docker stop 容器ID或者容器名

强行停止容器:docker kill 容器ID或者容器名

重启容器:docker restart 容器ID或者容器名

✒删除已停止的容器

命令原型 :docker rm 容器ID

一次性删除多个容器实例:

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

docker ps -a -q | xargs docker rm

✒启动守护容器

一般情况下我们是希望docker 的服务是在后台进行的,我们可以通过-d指定容器的后台运行模式

后台启动方式:docker run -d 容器名

前台启动方式:docker run -it 容器名

✒进入正运行容器,并进行命令交互

第一种:

命令原型:docker exec -it 容器ID bashShell

这个baseShell 指的是对应容器内的目录,比如centos的shell命令在/bin/bash

redis 的命令在redis-cli内

第二种:

命令原型:

docker attach 容器ID

二者区别:

attach直接进入容器启动命令的终端,不会启动新的进程用exit退出,会导致容器的停止。

exec是在容器中打开新的终端,并且可以启动新的进程用exit退出,不会导致容器的停止。

✒给镜像打标签

按照公式: docker tag 镜像:Tag Host:Port/Repository:Tag

自己host主机IP地址,填写自己的,不要粘贴错误,O(∩_∩)O

使用命令 docker tag 将zzyyubuntu:1.2 这个镜像修改为192.168.111.162:5000/zzyyubuntu:1.2

docker tag zzyyubuntu:1.2 192.168.111.162:5000/zzyyubuntu:1.2

请添加图片描述

✒查看容器日志

docker logs 容器ID

请添加图片描述

✒查看容器内运行的进程

docker top 容器ID

请添加图片描述

✒查看容器内部细节

docker inspect 容器ID

✒容器向主机拷贝

命令原型:docker cp 容器ID:容器内路径 目的路径

请添加图片描述

✒导入或导出容器

export导出容器的内容留作为一-个tar归档文件[对应import命令]

import从tar包中的内容创建一个新的文件系统再导入为镜像[对应export]

docker export容器ID >文件名.tar

请添加图片描述

cat文件名.tar| docker import -镜像用户/镜像名:镜像版本号

请添加图片描述

✈小总结

请添加图片描述


命令选项描述
attachAttach to a running container当前 shell 下 attach 连接指定运行镜像
buildBuild an image from a Dockerfile通过 Dockerfile 定制镜像
commitCreate a new image from a container changes提交当前容器为新的镜像
cpCopy files/folders from the containers filesystem to the host path从容器中拷贝指定文件或者目录到宿主机中
createCreate a new container创建一个新的容器,同 run,但不启动容器
diffInspect changes on a container’s filesystem查看 docker 容器变化
eventsGet real time events from the server从 docker 服务获取容器实时事件
execRun a command in an existing container在已存在的容器上运行命令
exportStream the contents of a container as a tar archive导出容器的内容流作为一个 tar 归档文件[对应 import ]
historyShow the history of an image展示一个镜像形成历史
imagesList images列出系统当前镜像
importCreate a new filesystem image from the contents of a tarball从tar包中的内容创建一个新的文件系统映像[对应export]
infoDisplay system-wide information显示系统相关信息
inspectReturn low-level information on a container查看容器详细信息
killKill a running containerkill 指定 docker 容器
loadLoad an image from a tar archive从一个 tar 包中加载一个镜像[对应 save]
loginRegister or Login to the docker registry server注册或者登陆一个 docker 源服务器
logoutLog out from a Docker registry server从当前 Docker registry 退出
logsFetch the logs of a container输出当前容器日志信息
portLookup the public-facing port which is NAT-ed to PRIVATE_PORT查看映射端口对应的容器内部源端口
pausePause all processes within a container暂停容器
psList containers列出容器列表
pullPull an image or a repository from the docker registry server从docker镜像源服务器拉取指定镜像或者库镜像
pushPush an image or a repository to the docker registry server推送指定镜像或者库镜像至docker源服务器
restartRestart a running container重启运行的容器
rmRemove one or more containers移除一个或者多个容器
rmiRemove one or more images移除一个或多个镜像[无容器使用该镜像才可删除,否则需删除相关容器才可继续或 -f 强制删除]
runRun a command in a new container创建一个新的容器并运行一个命令
saveSave an image to a tar archive保存一个镜像为一个 tar 包[对应 load]
searchSearch for an image on the Docker Hub在 docker hub 中搜索镜像
startStart a stopped containers启动容器
stopStop a running containers停止容器
tagTag an image into a repository给源中镜像打标签
topLookup the running processes of a container查看容器中运行的进程信息
unpauseUnpause a paused container取消暂停容器
versionShow the docker version information查看 docker 版本号
waitBlock until a container stops, then print its exit code截取容器停止时的退出状态值

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

酷尔。

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值