• 8.Docker学习


    尚硅谷-Docker教程 笔记

    第一章 Docker简介

    1.是什么?

    一种容器化虚拟技术。将 应用程序+运行环境+配置依赖 打包成镜像,运行镜像成为容器实例。而Docker容器在任何操作系统上都是一致的,这就实现了系统的跨平台、跨服务器,达到系统平滑移植。“一次镜像,到处运行”。

    2.容器与虚拟机的比较

    虚拟机是在硬件层面实现虚拟化

    Docker容器是在操作系统层面实现虚拟化

    与传统虚拟机相比,Docker优势体现在启动速度快、占用体积小

    3.Docker应用场景

     4.下载Docker

    两个网站:Docker官网、Docker Hub官网

    第二章 Docker安装

    1.Docker的基本组成(Docker三要素):镜像、容器,仓库

    (1)一个镜像可以创建多个容器。docker镜像文件相当于类,docker容器实例相当于实例对象

    (2)容器是用镜像创建的运行实例,容器就类似于一个虚拟化的运行环境。可以把容器看做是一个简易版的 Linux 环境和运行在其中的应用程序

    (3)仓库是集中存放镜像文件的地方,类似于Maven仓库存放各种jar包,github仓库存放各种git项目。Docker公司提供的官方registry叫Docker Hub。

      仓库分为公开(public)仓库和私有仓库(private),最大的公开仓库是Docker Hub,国内的公开仓库有阿里云、网易云等

    (4)需要正确的理解仓库/镜像/容器这几个概念:

    • Docker 本身是一个容器运行载体或称之为管理引擎。
    • 一个容器运行一种服务,当我们需要的时候,就可以通过docker客户端创建一个对应的运行实例,也就是我们的容器
    • 仓库就是放一堆镜像的地方,我们可以把镜像发布到仓库中,需要的时候再从仓库中拉下来就可以了

    (5)          Docker平台架构图                         Docker工作原理

     2.安装步骤

    3.阿里云镜像加速:拉镜像的时候快一些

    4.永远的HelloWorld

    5.底层原理:为什么Docker会比VM快?

    (1)docker有着比虚拟机更少的抽象层

    (2)docker利用的是宿主机的内核,而不需要加载操作系统OS内核

     第三章 Docker常用命令

    1.帮助启动类命令

    (1)启动docker:systemctl start docker

    (2)停止docker:systemctl stop docker

    (3)重启docker:systemctl restart docker

    (4)查看docker状态:systemctl status docker

    (5)查看docker概要信息:docker info

    2.镜像命令

    (1)docker images:列出本地主机上的所有镜像

    (2)docker search 镜像名字:查找镜像

    (3)docker pull 镜像名字:下载镜像。不带tag默认下载最新版本,等价于:docker pull 镜像名字:latest

        docker pull 镜像名字:tag

    (4)docker system df:查看镜像/容器/数据卷所占的空间

    (5)docker rmi 镜像名字/镜像ID:删除镜像

        docker rmi -f 镜像名字/镜像ID:带参数表示强制删除

      a. docker悬虚镜像

    3.容器命令

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

    (1)docker run -it 镜像名字 命令:新建+启动容器

    例子:docker run -it centos /bin/bash

    说明:

    • -i:交互式操作,-t:终端(i和t结合使用),centos:centos最新镜像,/bin/bash:命令,和容器交互的shell。
    • 退出终端,输入exit。ps -ef:可以查看容器里面的进程信息

    (2)docker ps [选项]:列出当前所有正在运行的容器

    例子:docker ps

    说明:-a:列出当前所有正在运行的容器+历史上运行过的。-l :显示最近创建的容器

    (3)退出容器:两种退出方式

      exit:run进去容器,exit退出,容器停止

      ctrl+p+q:run进去容器,ctrl+p+q退出,容器不停止

    (4)docker start 容器ID/容器名:启动已经停止的容器

    (5)docker restart 容器ID/容器名:重启容器

    (6)docker stop 容器id/容器名:停止容器

    (7)docker kill 容器id/容器名:强制停止容器

    (8)docker rm 容器id:删除已停止的容器

    a.有镜像才能创建容器,这是根本前提。所以提前要下载好镜像

    b.启动守护式容器(后台服务器):在大部分的场景下,我们希望docker的服务是在后台运行的,

       我们可以通过 -d 指定容器的后台运行模式:docker run id 容器名

     例如:docker run -d centos

    c.redis前后台启动演示:

    前台交互式启动:docker run -it redis:6.0.8

    后台守护式启动:docker run -d redis:6.0.8

    d.查看容器日志:docker logs 容器ID

    e:查看容器内运行的进程:docker top 容器id

    f:查看容器内部细节:dockers inspect 容器id

    g:重新进入正在运行的容器并以命令行交互:

      docker exec -it 容器id bin/bash

      docker attach 容器id

      (1)上述两个的区别

      (2)推荐使用docker exec命令,因为退出容器终端,不会导致容器的停止

      (3)一般用-d后台启动的程序,再用exec进入对应容器实例

    h:从容器内拷贝文件到主机

    i:导入和导出容器

    4.总结

     1 attach    Attach to a running container                 # 当前 shell 下 attach 连接指定运行镜像
     2 
     3 build     Build an image from a Dockerfile              # 通过 Dockerfile 定制镜像
     4 
     5 commit    Create a new image from a container changes   # 提交当前容器为新的镜像
     6 
     7 cp        Copy files/folders from the containers filesystem to the host path   #从容器中拷贝指定文件或者目录到宿主机中
     8 
     9 create    Create a new container                        # 创建一个新的容器,同 run,但不启动容器
    10 
    11 diff      Inspect changes on a container's filesystem   # 查看 docker 容器变化
    12 
    13 events    Get real time events from the server          # 从 docker 服务获取容器实时事件
    14 
    15 exec      Run a command in an existing container        # 在已存在的容器上运行命令
    16 
    17 export    Stream the contents of a container as a tar archive   # 导出容器的内容流作为一个 tar 归档文件[对应 import ]
    18 
    19 history   Show the history of an image                  # 展示一个镜像形成历史
    20 
    21 images    List images                                   # 列出系统当前镜像
    22 
    23 import    Create a new filesystem image from the contents of a tarball # 从tar包中的内容创建一个新的文件系统映像[对应export]
    24 
    25 info      Display system-wide information               # 显示系统相关信息
    26 
    27 inspect   Return low-level information on a container   # 查看容器详细信息
    28 
    29 kill      Kill a running container                      # kill 指定 docker 容器
    30 
    31 load      Load an image from a tar archive              # 从一个 tar 包中加载一个镜像[对应 save]
    32 
    33 login     Register or Login to the docker registry server    # 注册或者登陆一个 docker 源服务器
    34 
    35 logout    Log out from a Docker registry server          # 从当前 Docker registry 退出
    36 
    37 logs      Fetch the logs of a container                 # 输出当前容器日志信息
    38 
    39 port      Lookup the public-facing port which is NAT-ed to PRIVATE_PORT    # 查看映射端口对应的容器内部源端口
    40 
    41 pause     Pause all processes within a container        # 暂停容器
    42 
    43 ps        List containers                               # 列出容器列表
    44 
    45 pull      Pull an image or a repository from the docker registry server   # 从docker镜像源服务器拉取指定镜像或者库镜像
    46 
    47 push      Push an image or a repository to the docker registry server    # 推送指定镜像或者库镜像至docker源服务器
    48 
    49 restart   Restart a running container                   # 重启运行的容器
    50 
    51 rm        Remove one or more containers                 # 移除一个或者多个容器
    52 
    53 rmi       Remove one or more images       # 移除一个或多个镜像[无容器使用该镜像才可删除,否则需删除相关容器才可继续或 -f 强制删除]
    54 
    55 run       Run a command in a new container              # 创建一个新的容器并运行一个命令
    56 
    57 save      Save an image to a tar archive                # 保存一个镜像为一个 tar 包[对应 load]
    58 
    59 search    Search for an image on the Docker Hub         # 在 docker hub 中搜索镜像
    60 
    61 start     Start a stopped containers                    # 启动容器
    62 
    63 stop      Stop a running containers                     # 停止容器
    64 
    65 tag       Tag an image into a repository                # 给源中镜像打标签
    66 
    67 top       Lookup the running processes of a container   # 查看容器中运行的进程信息
    68 
    69 unpause   Unpause a paused container                    # 取消暂停容器
    70 
    71 version   Show the docker version information           # 查看 docker 版本号
    72 
    73 wait      Block until a container stops, then print its exit code   # 截取容器停止时的退出状态值
    View Code

    第四章:Docker镜像

    1.是什么?

    (1)镜像是一个轻量级、独立的软件包,包含:应用程序和配置依赖

    (2)镜像是分层的,使用的是联合文件系统

    (3)Docker镜像加载原理

    (4)为什么Docker镜像要采用这种分层结构呢?

    2.Docker镜像commit操作案例

    第五章 本地镜像发布到阿里云

    第六章 本地镜像发布到私有库

    1.本地镜像发布到私有库流程

    2. Docker Registry是官方提供的工具,可以用于构建私有镜像仓库

    3.将本地镜像推送到私有库

    第七章 Docker容器数据卷

    第八章 Docker常规安装简介

  • 相关阅读:
    spring三大框架整合
    spring基础内容
    安装Apache报80端口被占用 pid 4
    Bugzilla说明
    管理员权限的用户
    mac怎么连接windows远程桌面
    java化测试神器-流量回放平台
    PyAutoGUI——图形用户界面自动化
    (Python OpenGL)【5】平移 PyOpenGL
    (Python OpenGL)【4】Uniform变量 PyOpenGL
  • 原文地址:https://www.cnblogs.com/midiyu/p/16720088.html
Copyright © 2020-2023  润新知