docker 学习笔记一

什么是docker

Docker 项目的目标是实现轻量级的操作系统虚拟化解决方案。

为什么使用docker

  1. 更快速的交付和部署
  2. 更高效的虚拟化
  3. 更轻松的迁移和扩展
  4. 更简单的管理
特性 容器 虚拟机
启动 秒级 分钟级
硬盘使用 一般为 MB 一般为 GB
性能 接近原生 弱于
系统支持量 单机支持上千个容器 一般几十个

docker的基本概念

镜像(image)

docker镜像就是一个只读模版。一个镜像可以包含一个完整的ubuntu操作系统环境。镜像可以用来创建docker容器。

容器(container)

docker利用容器来运行其他应用。容器是从镜像创建的实例。它可以被启动、开始、停止、删除。每个容器都是相互隔离的、保证安全的平台。镜像是只读的,容器在启动的时候创建一层可写层作为最上层。

docker仓库(repository)

仓库是集中存放镜像文件的场所。当用户创建了自己的镜像之后就可以使用 push 命令将它上传到公有或者私有仓 库,这样下次在另外一台机器上使用这个镜像时候,只需要从仓库上 pull 下来 就可以了。

安装

我是mac,所以参照来官方网站mac版的安装教程。 这里不再详述。

docker的基本操作

  1. docker pull

    可以使用 docker pull 命令来从仓库获取所需要的镜像。

    Wangs-MacBook-Pro:~ wxc575843$ docker pull tomcat
    Using default tag: latest
    latest: Pulling from library/tomcat
    43c265008fae: Already exists 
    af36d2c7a148: Pull complete 
    2b7b4d10e1c1: Pull complete 
    35dfd23791b5: Pull complete 
    fa0aca12f0dd: Downloading [=======================>                           ] 36.23 MB/77.74 MB
    6e3e424fb5e8: Download complete 
    9707fd7c2520: Download complete 
    bc96a5a31454: Download complete 
    02c274ea6f09: Download complete 
    0816d68406c9: Download complete 
    6dd15d6d17e3: Download complete 
  2. docker images

    使用 docker images 显示本地已有的镜像。
    在列出信息中,可以看到几个字段信息
    - 来自于哪个仓库,比如 ubuntu
    - 镜像的标记,比如 14.04
    - 它的 ID 号(唯一)
    - 创建时间
    - 镜像大小

    其中镜像的 ID 唯一标识了镜像

    Wangs-MacBook-Pro:~ wxc575843$ docker images
    REPOSITORY TAG IMAGE ID CREATED SIZE
    tomcat latest 7b6daea9936c 6 days ago 355.5 MB
    mysql latest cf725f136fd2 6 days ago 383.4 MB
    ubuntu latest f753707788c5 2 weeks ago 127.2 MB
    centos latest 980e0e4c79ec 7 weeks ago 196.8 MB
    hello-world latest c54a2cc56cbb 3 months ago 1.848 kB

  3. 删除镜像&容器
    docker mi IAMGE ID & docker rm CONTAINER ID

  4. 显示所有的容器
    docker ps(显示运行的容器)
    docker ps -a (显示所有容器)

  5. docker run
    创建新容器
    参数

    • -i 指定输入为stdin
    • -name 指定容器的名字
    • -t 选项让Docker分配一个伪终端(pseudo-tty)并绑定到容器的标准输入上
    • -d 后台运行,重新显示使用docker attach
  6. docker attach
    将后台的容器显示在前台。

  7. docker start/stop/restart

  8. docker commit

     docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
    
    • -m 说明提交信息
  9. Dockerfile
    使用 来扩展一个镜像比较简单,但是不方便在一个团队中分 享。我们可以使用 来创建一个新的镜像。为此,首先需要创建一 个 Dockerfile,包含一些如何创建镜像的指令。
    Dockerfile 基本的语法是

    • 使用 # 来注释
    • FROM 指令告诉 Docker 使用哪个镜像作为基础
    • 接着是维护者的信息
    • RUN 开头的指令会在创建中运行,比如安装一个软件包,在这里使用 apt-get来安装了一些软件

      编写完成 Dockerfile 后可以使用 docker build 来生成镜像。
      docker build -t=”REPOSITORY:TAG” DockerfilePATH

  10. 从本地文件系统导入
    比如,先下载了一个 ubuntu-14.04 的镜像,之后使用以下命令导入:然后查看新导入的镜像。

    sudo cat ubuntu-14.04-x86_64-minimal.tar.gz  |docker import - ubuntu:14.04
    
  11. 上传镜像
    用户可以通过 docker push 命令,把自己创建的镜像上传到仓库中来共享。例 如,用户在 Docker Hub 上完成注册后,可以推送自己的镜像到仓库中。

      docker push NAME[:TAG] [OPTIONS]
    
  12. 存出和载入镜像

     docker save -o ubuntu_14.04.tar ubuntu:14.04
     sudo docker load --input ubuntu_14.04.tar
    
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章