Docker学习笔记(一)

作者: Jimmy_Will | 来源:发表于2018-07-01 10:27 被阅读2次

    docker-tutorial (2018-7-1)

    GitHub仓库

    This repo is a translation of the docs.docker.com.

    Also, you can check the English version here.

    0. Docker CE 安装

    环境:ubuntu 16.04

    Docker官网上有在不同系统上的详细安装步骤和多种安装方法,如果有需要可以浏览here.

    删除旧版本

    如果安装了旧版本请删除他们:

    $ sudo apt-get remove docker docekr-engine docker.io
    

    使用apt安装

    配置ubuntu repository

    $ sudo apt-get update # 更新一下源
    
    # 安装需要的软件使apt能够在HTTPS传输
    $ sudo apt-get install apt-transport-https
    $ sudo apt-get install ca-certificates
    $ sudo apt-get install curl 
    $ sudo apt-get install software-properties-common
    

    添加docker官方GPG密钥

    $ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
    

    添加稳定版的repository

    $ sudo add-apt-repository \
       "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
       $(lsb_release -cs) \
       stable"
    

    安装Docker CE

    # 更新一下apt源
    $ sudo apt-get update
    
    # 安装最新版 Docker CE
    $ sudo apt-get install docker-ce
    

    测试Docker安装

    $ docker run hello-world
    Unable to find image 'hello-world:latest' locally
    latest: Pulling from library/hello-world
    ca4f61b1923c: Pull complete
    Digest: sha256:ca0eeb6fb05351dfc8759c20733c91def84cb8007aa89a5bf606bc8b315b9fc7
    Status: Downloaded newer image for hello-world:latest
    
    Hello from Docker!
    This message shows that your installation appears to be working correctly.
    ...
    

    如果有权限问题是应为当前用户没有执行docker命令的权限,可以在命令前加sudo,或者把当前用户添加到docker用户组。

    # 添加当前用户到docker组
    $ sudo groupadd docker
    $ sudo usermod -aG docker $USER
    

    执行完以上命令后登出在登入就完成了。

    查看下载的镜像

    $ docker image ls
    

    查看容器,由于刚才运行的容器已经关闭了所以要添加参数才能看到

    $ docker container ls -all
    

    命令速记

    # 查看Docker命令
    $ docekr
    $ docker container --help
    
    # 查看Docker版本和安装信息
    $ docker --version
    $ docker version
    $ docker info
    
    # 运行Docker容器
    $ docker run hello-world
    
    # 查看已下载Docker镜像
    $ docker image ls
    
    # 查看Docker容器(运行中,所有,所有运行在quiet mode的)
    $ docker container ls
    $ docker container ls -all
    $ docker container ls -aq
    

    1. Orientation - 概述

    Docker concepts - Docker概念

    Docker是一个为开发者和运维提供开发、部署、运行容器化应用程序的框架平台。用Linux容器去部署应用程序这种方式被成为容器化(containerziation)。容器这个概念并不是新提出的,docker引入概念的是使用容器来使得部署应用更加简单。

    Images and containers - 镜像和容器

    一个容器(container)就是一个运行的镜像(image)。镜像(image)就是一个包含了需要运行的应用程序和他所需要的运行时环境、库、环境变量、配置文件等等。

    容器(container)是一个镜像运行的实例,可以使用docker ps命令来查看系统中运行的容器。

    容器和镜像的关系可以对比OOP(面向对象编程)中类和对象的关系。

    Containers and virtual machines - 容器和虚拟机

    容器和虚拟机实现的功能是相似的,但他们本质上是有差别的。

    虚拟机是在现有的系统上,再运行一个操作系统,这可以很好的隔离主机和虚拟机,但带来的开销也是非常大的。

    容器则可以从应用程序这个角度来理解。容器可以是一个包含了程序运行所需要的库和依赖的一个应用程序,简单来说就是把库和依赖关系集成到应用程序中,而不是使用系统的库和依赖,这样也能实现隔离的功能。所以容器的系统开销是非常小的。

    总之,虚拟机是一个隔离的操作系统,而容器则是一个应用程序。

    相关文章

      网友评论

        本文标题:Docker学习笔记(一)

        本文链接:https://www.haomeiwen.com/subject/kajcuftx.html