Docker_笔记

Docker 基础组成

镜像(image)

Docker 镜像就是一个只读的模板。镜像可以用来创建Docker容器,一个镜像可以创建很多容器。

容器(Container)

Docker 利用容器独立运行一个或一组应用。容器是用镜像创建的运行实例

它可以被启动、开始、停止、删除。每个容器都是相互隔离的、保证安全的平台。

可以把容器看做是一个简易版的Linux环境(包括root用户权限、进程空间、用户空间和网络空间等)和运行在其中的应用程序

仓库(repository)

仓库是集中存放镜像文件的场所。

仓库和仓库注册服务器是有区别的。仓库注册服务器(Registry)上往往存放着多个仓库,每个仓库中又包含了多个镜像,每个镜像有不同的标签(tag)

仓库分为公开仓库(Public)和私有仓库(Private)两种形式。

最大的公开仓库是 Docker Hub(Https://hub.docker.com/)

存放了数量庞大的镜像供用户下载。国内的公开仓库包括阿里云、网易云等

概述

Docker 本身是一个容器运行载体或称之为管理引擎。我们把应用程序和配置依赖打包好形成一个可交付的运行环境,这个打包好的运行环境就似乎image镜像文件。只有通过这个镜像文件才能生成Docker容器。image文件可以看作是容器模板。Docker工具image文件生成容器的实例。同一个image文件,可以生成多个同时运行的容器实例。

  • image文件生成的容器实例,本身也是一个文件,称为镜像文件
  • 一个容器运行一种服务,当我们想要的时候,就可以通过docker客户端创建一个对应的运行实例,也就是我们的容器

Docker 安装

安装前提:

  • 目前,CentOS 仅发行版本中的内核支持 Docker
  • Docker 运行在 CentOS 7上,要求系统为 64 位、系统内核版本为3.10以上
  • Docker 运行在 CentOS 6.5 或更高的版本的 CentOS 上,要求系统为64位、系统内核版本为2.6.32-431或更高
  • 使用uname -r 查看本机版本和内核

1. 把yum包更新到最新版本(温馨提示:新环境或测试环境可随意操作,生产环境酌情慎重更新)

  • yum update

2. 使用rpm -qa|grep yum|lvm2|device-mapper-persistent-data:查看已安装的软件包

[root@hodoop2 docker]# rpm -qa|grep yum
yum-metadata-parser-1.1.4-10.el7.x86_64
yum-utils-1.1.31-54.el7_8.noarch
yum-plugin-fastestmirror-1.1.31-42.el7.noarch
yum-3.4.3-154.el7.centos.noarch
[root@hodoop2 docker]# rpm -qa|grep lvm2
lvm2-2.02.187-6.el7_9.4.x86_64
lvm2-libs-2.02.187-6.el7_9.4.x86_64
[root@hodoop2 docker]# rpm -qa|grep device-mapper-persistent-data
device-mapper-persistent-data-0.8.5-3.el7_9.2.x86_64
  • 如果没有则使用yum install -y yum-utils device-mapper-persistent-data lvm2全部下载下来

3. 设置yum源(推荐国内镜像)

  • yum-config-manager --add-repo http://download.docker.com/linux/centos/docker-ce.repo(中央仓库)
  • yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo(阿里仓库)

可以使用命令查看所有仓库中所有 docker的版本

4. 安装Docker,命令:yum install docker-ce[-版本号]:如果不指定版本号,则默认安装最新版本,安装期间可能想要输入y进行确定,或者在命令中加上 -y 总是yes 即可

5. 安装完成后使用systemctl start docker命令启动服务,再使用systemctl status docker命令查看服务状态[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-If3sHgRG-1617678741807)(C:\Users\周\AppData\Roaming\Typora\typora-user-images\image-20210330113850335.png)]

冒绿光表示running,表示正在运行中,使用docker version命令查看版本[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lQhnc5P9-1617678741809)(C:\Users\周\AppData\Roaming\Typora\typora-user-images\image-20210330122810420.png)]

最后设置开机启动systemctl enable docker

测试

使用docker run hello-world命令,刚刚下载完成没有这个镜像,则先去外网下载,然后运行[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UvyFZKkE-1617678741812)(C:\Users\周\AppData\Roaming\Typora\typora-user-images\image-20210330123104834.png)]

配置阿里云镜像加速

  • 使用mkdir /opt/envrionment/docker先创建一个docker文件夹
  • 在新创建的dorcker文件夹里面创建一个 daemon.json 文件,里面并配置加速地址
    • vim /opt/envrionment/docker/daemon.json
    • { “registry-mirrors”: [“https://182abp7y.mirror.aliyuncs.com”] }
  • 刷新配置systemctl daemon-reload
  • 重启服务systemctl restart docker,在CentOS 7中,只要能重启服务正常,表示配置成功

卸载 Docker

  • 先使用systemctl stop docker命令关闭这个服务
  • 卸载仓库资源yum -y remove docker-ce
  • 删除docker文件夹rm -rf /var/lib/docker

Docker 常用命令

帮助命令

  • docker version:查看版本
  • docker info:查看当前信息
  • docker help:打开docker帮助文档

镜像命令

  • docker images [选项]:列出本地主机上的镜像
    • -a:列出本地所有的镜像(含中间映射层)
    • -q:只显示镜像ID
    • –digests:显示镜像的摘要信息
    • –no-trunc:显示完整的镜像信息
  • docker search [选项] <镜像名字> :搜索指定镜像
    • –no-trunc:显示完整的镜像描述
    • -s:列出收藏数不小于指定值的镜像
    • –automated:只列出automated build类型的镜像
  • docker pull <镜像名字>:下载指定名字的镜像
  • docker rmi [选项] <镜像ID>:删除指定ID的镜像
    • -f:排除依赖强制删除
    • docker rmi -f <镜像名字1> <镜像名字2> ...:删除多个镜像
    • docker rmi -f $(docker images -qa):删除全部镜像

容器命令

新建

  • docekr run [选项] <镜像名称>:新建并启动容器
    • –name=‘容器新名字’:为容器指定一个名称
    • -d:后台运行容器,并返回容器ID,也即启动守护式容器
    • -i:以交互模式运行容器,通常与 -t 同时使用
    • -t:为容器重新分配一个伪输入终端,通常与 -i同时使用
    • -P:随机端口映射
    • -p:指定端口映射
      • ip:hostPort:containerPort
      • ip::containerPort
      • hostPort:containerPort
      • containerPort

查看

  • docker ps [选项]:列出当前所有正在运行的容器
    • -a:列出当前所有正在运行的容器+历史上运行过的
    • -l:显示最近创的容器
    • -n:显示最近n个创建的容器, docker ps -n 3
    • -q:静默模式,只显示容器编号
    • –no-trunc:不截断输出

保存

  • docker commit <容器ID> <nweName>:把修改镜像后的内容保存起来

退出

  • exit:容器停止并退出
  • Ctrl+P+Q:容器不停止退出

启动停止

  • docker start <容器ID|容器名>:启动指定 id 的容器,启动成功返回 此id
  • docker restart <容器ID|容器名>:重启容器
  • docker stop <容器ID|容器名>:停止容器
    • docker kill <容器ID|容器名>:强制停止容器

删除

  • docker rm <容器ID>:删除已停止的容器
    • docker rm -f $(docker ps -a -q):删除所有的容器

后台启动

启动守护式容器

启动后会发现容器已经退出,原因:Docker容器后台运行,必须有一个前台进程,容器运行的命令如果不是哪些一直挂起的命令,就会自动退出

  • docker run -d <容器名>

查看容器日志

  • docker logs -f -t --tail <容器ID>
    • -t:加入时间戳
    • -f:跟随最新的日志打印
    • –tail:数字显示最后多少条
  • docker top <容器ID>:查看容器内运行的进程

进入正在运行的容器

  • docker exec -it <容器id|容器名> <bashShell>:执行正在运行容器的相关命令
  • docker attach <容器ID|容器名>:重新进入容器

Tomcat 启动

  • docker run -it -p 8080:8080 tomcat:启动容器指定映射端口8080

如果远程访问 404
先使用 Ctrl+P+Q 退出容器当不停止
再使用docker exec -it <容器ID> /bin/bash或者docker attach <容器ID>进入tomcat容器查看weapps目录,如果是一个空文件夹,那么使用cp -r webapps.dist/. webappswebapps.dist中所有的文件全部复制到webapps目录即可

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值