Docker的安装及使用

Docker是什么?

  • Docker的思想来自于集装箱,集装箱解决了什么问题?在一艘大船上,可以把货物规整的摆放起来。并且各种各样的货物被集装箱标准化了,集装箱和集装箱之间不会互相影响。那么我就不需要专门运送水果的船和专门运送化学品的船了。只要这些货物在集装箱里封装的好好的,那我就可以用一艘大船把他们都运走。

Docker 架构

  • Docker 使用客户端-服务器 (C/S) 架构模式,使用远程API来管理和创建Docker容器。
  • Docker 容器通过 Docker 镜像来创建。
  • 容器与镜像的关系类似于面向对象编程中的对象与类。
Docker面向对象
容器对象
镜像

MacOS Docker 安装

  • macOS 我们可以使用 Homebrew 来安装 Docker。
    • $ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
    • $ brew cask install docker
  • 手动下载安装
    • 请点击以下链接下载 StableEdge 版本的 Docker for Mac。

镜像加速

  • 鉴于国内网络问题,后续拉取 Docker 镜像十分缓慢,我们可以需要配置加速器来解决,我使用的是网易的镜像地址:http://hub-mirror.c.163.com
  • 在任务栏点击 Docker for mac 应用图标 -> Perferences… -> Daemon -> Registry mirrors。在列表中填写加速器地址即可。修改完成之后,点击 Apply & Restart 按钮,Docker 就会重启并应用配置的镜像地址了。
  • 之后我们可以通过 docker info 来查看是否配置成功。

Docker 容器使用

  • 接下来让我们尝试使用 docker 构建一个 web 应用程序。
  • 我们将在docker容器中运行一个 Python Flask 应用来运行一个web应用。
  • $ docker pull training/webapp # 载入镜像
    *$ docker run -d -P training/webapp python app.py
  • 查看 WEB 应用容器
    • 使用 docker ps 来查看我们正在运行的容器:
      runoob@runoob:~# docker ps
      CONTAINER ID IMAGE COMMAND ... PORTS
      d3d5e39ed9d3 training/webapp "python app.py" ... 0.0.0.0:32769->5000/tcp
    • 这里多了端口信息。
    • 这时我们可以通过浏览器访问WEB应用
    • 我们也可以通过 -p 参数来设置不一样的端口:
    • $ docker run -d -p 5000:5000 training/webapp python app.py
    • docker ps查看正在运行的容器
    • 容器内部的 5000 端口映射到我们本地主机的 5000 端口上。
  • 查看 WEB 应用程序日志
    • docker logs [ID或者名字] 可以查看容器内部的标准输出。
  • 查看WEB应用程序容器的进程
    • 我们还可以使用 docker top 来查看容器内部运行的进程

Docker 镜像使用

  • 列出镜像列表
    • 我们可以使用 docker images 来列出本地主机上的镜像。
  • 查找镜像
    • 比如我们需要一个httpd的镜像来作为我们的web服务。我们可以通过docker search 命令搜索 httpd 来寻找适合我们的镜像。
    • $ docker search httpd
  • 构建镜像
    • 我们使用命令 docker build , 从零开始来创建一个新的镜像。为此,我们需要创建一个 Dockerfile 文件,其中包含一组指令来告诉 Docker 如何构建我们的镜像。
    • $ cat Dockerfile
    • docker build -t runoob/centos:6.7 .
    • 使用docker images 查看创建的镜像已经在列表中存在,镜像ID为860c279d2fec
  • 设置镜像标签
    • 我们可以使用 docker tag 命令,为镜像添加一个新的标签。
    • $ docker tag 860c279d2fec runoob/centos:dev
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值