1 安装

1.1 docker的安装


1.2 出现错误


2 注册阿里云

2.1 镜像加速器

 

如何找到docker desktop旧版本 查看docker安装的版本_重启

我的专属加速器地址:https://9vt58t5l.mirror.aliyuncs.com

2.2 配置本机的运行加速器

如何找到docker desktop旧版本 查看docker安装的版本_重启_02

vim /etc/docker/daemon.json

 

如何找到docker desktop旧版本 查看docker安装的版本_tomcat_03

网易云和百度云可以不注册直接使用

{
  "registry-mirrors": [
    "https://hub-mirror.c.163.com",
    "https://mirror.baidubce.com"
  ]
}

 3 启动Docker后台容器

测试运行hello-world

docker run hello-world

如何找到docker desktop旧版本 查看docker安装的版本_tomcat_04

容器与镜像的关系类似于面向对象程序中的对象与类的关系

如何找到docker desktop旧版本 查看docker安装的版本_tomcat_05

 

以镜像为模板,生成容器为实例

Unable to find image 'hello-world:latest' locally
没有在本地找到hello-world的最新镜像,latest代表最新。

latest: Pulling from library/hello-world
从远程(docker hub 或者阿里云)拉取最新镜像

0e03bdcc26d7: Pull complete
Digest: sha256:31b9c7d48790f0d8c50ab433d9c3b7e17666d6993084c002c2ff1ca09b96391d
Status: Downloaded newer image for hello-world:latest
以该镜像为模板生成容器实例运行

4 docker的框架图

如何找到docker desktop旧版本 查看docker安装的版本_tomcat_06

docker_host:主机

  images 镜像。

  镜像就是模板

如何找到docker desktop旧版本 查看docker安装的版本_docker_07

  container:容器(集装箱)。

  镜像的实例就是容器。独立运行的一个或一组应用。它可以被启动、开始、停止、删除。每个容器都是相互隔离的、保证安全的平台。可以把容器看做是一个简易版的linux环境(包括root权限、进程空间、用户空间和网络空间)和运行在其中的应用程序。

容器的定义和镜像几乎一模一样。也是一堆成的统一视角,唯一的区别在于容器的最上面一层是可读可写的。

client:命令终端

repository:仓库

仓库repository与仓库注册服务区registry是有区别的。仓库注册服务器上往往存放着多个仓库,每个仓库中有包含了多个镜像,每个镜像有不同的标签tag(类似于版本号)。

 5 docker命令

5.1 帮助命令

5.1.1 docker info

如何找到docker desktop旧版本 查看docker安装的版本_重启_08

Containers: 1 有多少个容器
  Running: 0
  Paused: 0
  Stopped: 1
 Images: 1 多少个镜像

5.1.2 docker --help

查看所有docker的常用命令

5.2 镜像命令

5.2.1 docker images 列出本地主机上的镜像

如何找到docker desktop旧版本 查看docker安装的版本_tomcat_09


REPOSITORY   镜像的仓库源

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

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

IMAGE ID 镜像的id

CREATED        镜像创建时间

SIZE 镜像的大小

1 docker images -a 列出本地所有的镜像。列出本地所有的镜像(含中间映像层,默认情况下,过滤掉中间映像层)

如何找到docker desktop旧版本 查看docker安装的版本_tomcat_10

镜像是分层嵌套的

2 docker images -q  只显示镜像id

返回id的集合。可以批量删除的时候使用

如何找到docker desktop旧版本 查看docker安装的版本_docker_11

3 docker images --digests  显示镜像的摘要信息

REPOSITORY    TAG       DIGEST                                                                    IMAGE ID只有开头       CREATED         SIZE
hello-world   latest    sha256:31b9c7d48790f0d8c50ab433d9c3b7e17666d6993084c002c2ff1ca09b96391d   bf756fb1ae65   12 months ago   13.3kB

4 docker images --no-trunc 显示完整的镜像信息

REPOSITORY    TAG       IMAGE ID 完整的                                                               CREATED         SIZE
hello-world   latest    sha256:bf756fb1ae65adf866bd8c456593cd24beb6a0a061dedf42b26a993176745f6b   12 months ago   13.3kB

5.2.2 docker search xxx 某个镜像的名字(从docker hub上查找)

如何找到docker desktop旧版本 查看docker安装的版本_重启_12

相当于去https://hub.docker.com 上查找

如何找到docker desktop旧版本 查看docker安装的版本_重启_13

STARS ⭐ 相当于点赞数

OFFICIAL 是否是官方版

AUTOMATED 自动构建

5.2.3 docker pull xxx 拉取某个镜像

拉取方式其实每个页面都有 https://hub.docker.com/_/tomcat

如何找到docker desktop旧版本 查看docker安装的版本_重启_14

如何找到docker desktop旧版本 查看docker安装的版本_重启_15

等价于 docker pull jelastic/tomcat:latest

如何找到docker desktop旧版本 查看docker安装的版本_tomcat_16

tomcat里也有其他镜像。一层层叠加

 

5.2.4 docker rmi xxx  删除某个镜像 xxx可以是镜像id或者唯一镜像名

如何找到docker desktop旧版本 查看docker安装的版本_docker_17

docker rmi hello-world 相当于 docker rmi hello-world:latest

因为容器正在使用这个镜像 ,所以删不掉

docker rmi  -f 

如何找到docker desktop旧版本 查看docker安装的版本_tomcat_18

 

docker rmi -f 镜像名1:tag 镜像名2:tag

例如 docker rmi -f hello-world nginx

如何找到docker desktop旧版本 查看docker安装的版本_重启_19

删除全部镜像

docker rmi -f $(docker images -qa)

 

5.3 容器命令

5.3.1 新建并启动容器  docker run -it 300e315adb2f

有镜像才能创建容器,这是根本前提

i 交互

t 伪终端

如何找到docker desktop旧版本 查看docker安装的版本_tomcat_20

5.3.2 列出当前所有正在运行的容器  docker ps

docker ps 当前正在运行的

如何找到docker desktop旧版本 查看docker安装的版本_docker_21

NAMES gifted_galileo 系统随机分配的名字 也可以在run的时候用--name指定

docker run -it  --name="mycentos" 300e315adb2f

如何找到docker desktop旧版本 查看docker安装的版本_tomcat_22

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

如何找到docker desktop旧版本 查看docker安装的版本_重启_23

-l 显示最近创建的容器

docker ps -l

如何找到docker desktop旧版本 查看docker安装的版本_重启_24

 status :exited 代表已经退出 。up代表正活跃

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

如何找到docker desktop旧版本 查看docker安装的版本_重启_25

-q 静默模式,只显示容器编号

如何找到docker desktop旧版本 查看docker安装的版本_tomcat_26

5.3.3 退出容器 exit和ctrl+P+Q

退出有两种方式 exit 和 ctrl+P+Q

exit 容器停止退出

如何找到docker desktop旧版本 查看docker安装的版本_tomcat_27

如何找到docker desktop旧版本 查看docker安装的版本_tomcat_28

 ctrl+P+Q 容器不停止退出

在第二行的时候按下ctrl+P+Q

如何找到docker desktop旧版本 查看docker安装的版本_tomcat_29

状态还是up

如何找到docker desktop旧版本 查看docker安装的版本_重启_30

5.3.4 启动容器 docker start xxxx 容器名或容器id

如何找到docker desktop旧版本 查看docker安装的版本_重启_31

779853915ab2容器已经退出

 

如何找到docker desktop旧版本 查看docker安装的版本_docker_32

5.3.5 重启容器 docker restart xxx

如何找到docker desktop旧版本 查看docker安装的版本_重启_33

重启以后执行时间变了

5.3.6 停止容器 docker stop 容器id或者容器名

如何找到docker desktop旧版本 查看docker安装的版本_docker_34

5.3.7 强制停止容器 docker kill容器id或者容器名

stop是慢慢熄火停止,相当于正常关机、

如何找到docker desktop旧版本 查看docker安装的版本_tomcat_35

5.3.8 删除已停止容器 docker rm 容器id或名字

docker rmi 是删除镜像 没有i是删除容器

如何找到docker desktop旧版本 查看docker安装的版本_重启_36

如果要删没有停止的容器 加上-f 强制删除

docker rm -f mycentos008

一次性删除多个容器

docker ps -a -q | xargs docker rm

或者

docker rm   $(docker ps -a -q)

如何找到docker desktop旧版本 查看docker安装的版本_重启_37

有个容器正在运行 不能删除,用上-f再执行一次