Docker 入门

前言

  • 需要解决的问题:

    • 方便对齐运行依赖和运行环境
  • 虚拟机:

    • 资源占用多
    • 冗余步骤多
    • 启动慢
  • Linux 容器(LXC):Linux 容器不是模拟一个完整的操作系统,而是对进程进行隔离。

    • 启动快
    • 资源占用少
    • 体积小
  • Docker:Docker 属于 Linux 容器的一种封装,提供简单易用的容器使用接口。

    • 原理:Docker 将应用程序与该程序的依赖,打包在一个文件里面。运行这个文件,就会生成一个虚拟容器。
    • 使用:Docker 的接口相当简单,用户可以方便地创建和使用容器,把自己的应用放入容器。容器还可以进行版本管理、复制、分享、修改,就像管理普通的代码一样。

Docker 的主要用途,目前有三大类。

  • 提供一次性的环境。比如,本地测试他人的软件、持续集成的时候提供单元测试和构建的环境。
  • 提供弹性的云服务。因为 Docker 容器可以随开随关,很适合动态扩容和缩容。
  • 组建微服务架构。通过多个容器,一台机器可以跑多个服务,因此在本机就可以模拟出微服务架构。

常用命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#Docker 的官方仓库 Docker Hub(https://hub.docker.com/search?q=node) 是最重要、最常用的 image 仓库

# 列出本机的所有 image 文件
$ docker image ls

# 运行某个镜像
$ docker container run hello-world

# 删除 image 文件
$ docker image rm [imageName]

# 下载 node docker,由 Node 官方维护
$ docker pull node

# 下载 jenkins 镜像
$ docker pull jenkins/jenkins:lts