zoukankan      html  css  js  c++  java
  • Docker(一) Docker入门教程

    一、相关概念

    Docker是CS架构,主要有两个概念:

    • Docker daemon:
      运行在宿主机上,Docker守护进程,用户通过Docker client(Docker命令)与Docker daemon交互。
    • Docker client:
      Docker 命令行工具,是用户使用Docker的主要方式,Docker client与Docker daemon通信并将结果返回给用户,Docker client也可以通过socket或者RESTful api访问远程的Docker daemon。

    了解了Docker的组成,再来了解一下Docker的三个主要概念:

    • Docker image:
      镜像是只读的,镜像中包含有需要运行的文件。
      镜像用来创建container,一个镜像可以运行多个container;
      镜像可以通过Dockerfile创建,也可以从Docker hub/registry上下载。
    • ** Docker container: **
      容器是Docker的运行组件,启动一个镜像就是一个容器,容器是一个隔离环境,多个容器之间不会相互影响,保证容器中的程序运行在一个相对安全的环境中。
    • ** Docker hub/registry: **
      共享和管理Docker镜像,用户可以上传或者下载上面的镜像,官方地址为https://registry.hub.docker.com/,也可以搭建自己私有的Docker registry。

    镜像就相当于打包好的版本,镜像启动之后运行在容器中,仓库就是装存储镜像的地方。

    二、Docker 的安装

    Docker 软件包已经包括在默认的 CentOS-Extras 软件源里。因此想要安装 docker,只需要运行 yum 命令:

    [root@localhost ~]# yum install docker -y
    
    
    [root@localhost ~]# systemctl start docker.service    #启动docker服务
    [root@localhost ~]# systemctl enable docker.service    #设置开机启动
    
    [root@localhost ~]# docker version    #查看docker版本信息,如有返回代表成功!
    

    例子:Hello wold!

    • 修改官方镜像源:
      中国可以用:registry.docker-cn.com 来进行加速,但只包含流行的公有镜像!!!

      [root@localhost ~]# vi /etc/docker/daemon.json
      
      #添加:
      {
       "registry-mirrors": ["https://registry.docker-cn.com"],
       "live-restore": true
       }
      
    • 拉取并运行hello-world:

      [root@localhost ~]# docker pull library/hello-world    
      #docker pull 是抓取 image 文件的命令,library/hello-world是 image 文件在仓库里面的位置,其中library是 image 文件所在的组,hello-world是 image 文件的名字。
      
      [root@localhost ~]# docker images   
      #显示结果
      REPOSITORY              TAG                 IMAGE ID            CREATED             SIZE
      docker.io/hello-world   latest              fce289e99eb9        2 weeks ago         1.84 kB
      
      [root@localhost ~]# docker run hello-world
      #显示结果
      Hello from Docker!
      This message shows that your installation appears to be working correctly.
      ...
      #输出提示后,hello-world会停止运行,容器自动终止。有些不会自动终止,以此来提供服务,比如mysql镜像等。
      

    三、常用命令

    拉取镜像:

    docker pull image_name    #image_name 是镜像名字和位置
    

    查看本地镜像:

    docker images     #查看宿主上的所有镜像,位置在//var/lib/docker
    

    在线查找镜像:

    docker search image_name    #image_name 是你想查找的镜像名字或关键字
    

    删除镜像:

    docker rmi docker.io/hello-world     #删除容器必须先停止,不然需加上 -f 强制删除。
    

    查看当前运行的容器:

    docker ps -al    #参数为所有和详细信息
    

    启动、停止和重启容器:

    docker start container_name/container_id    #container_name 为要操作的容器名字,container_id为查询到的容器ID(两种都可操作)
    docker stop container_name/container_id
    docker restart container_name/container_id
    

    进入后台容器:

    docker attach container_name/container_id
    

    删除容器:

    docker rm container_name/container_id
    

    查看当前系统Docker信息:

    docker info
    

    下载镜像到本地:

    docker pull centos:latest    #下载某一个镜像
    docker pull centos    #下载centos仓库下所有镜像
    
  • 相关阅读:
    Elastic Beanstalk 环境的 Auto Scaling 组
    Welcome to AWS Greengrass Demo on RaspBerry Pi 4B with OpenVino
    Amazon SQS 延迟队列
    跟踪、记录和监控 API Gateway API
    AWS Lambda 别名简介
    GenerateDataKeyWithoutPlaintext & GenerateDataKey
    高级 AWS Elastic Beanstalk 环境配置 » 使用自定义 Amazon 系统映像 (AMI)
    Write-Through缓存策略 ElastiCache
    十一、函数递归,算法二分法,三元表达式,列表字典生成式,匿名函数,内置函数
    十、装饰器,闭包
  • 原文地址:https://www.cnblogs.com/colman/p/10280440.html
Copyright © 2011-2022 走看看