docker 在mac 上安装

注意: 该 Docker 版本为了支持 Docker 机,于是不再支持 Boot2Docker 命令行。使用 Docker Toolbox 和其它 Docker 工具来安装 Docker 机。

您可以利用 Docker Toolbox 来安装 Docker。Docker Toolbox 提供了以下工具:

  • 用于运行 docker-machine 二进制文件的 Docker Machine
  • 用于运行 docker 二进行文件的 Docker Engine
  • 用于运行 docker-compose 二进行文件的 Docker Compose (Mac 特有)
  • Kitematic,Docker 的图形用户界面
  • 用于 Docker 命令行环且预先配置好的 shell
  • Oracle VM VirtualBox

由于 Docker 的后台程序使用了 Linux 特有的内核特性,所以您不能直接在 OS X 上运行 Docker。相反,您必须使用 docker-machine 来创建并附加一台虚拟机(VM)。该虚拟机需要安装 Linux 操作系统以便在您 Mac 机上运行 Docker。

前提条件

您 Mac 机的 OS X 版本必须大于等于 10.8 "Snow Leopard" 才可以安装 Docker Toolbox。

在安装之前先来了解一些关键概念

当我们在一台 Linux 主机上安装完 Docker 之后,我们的机器中就包含了本地主机和 Docker 主机。如果从网络层来划分,本地主机就代表你的电脑,而 Docker 主机就是运行 container 的那台机器。

在 Linux 机器上的一种典型安装 Docker 方法:Docker 客户端,Docker 后台程序和 container 会直接运行在您的机器上。这就意味着您可以使用标准的本地主机寻址(例如 localhost:8000 或者 0.0.0.0:8376)来为 Docker container 分配一个地址。

 

在 OS X 上安装的 Docker ,其 Docker 后台程序是运行在一个名为 default 的 Linux 虚拟机上的。default 是 Linux 上的一个轻量级的虚拟机,是专门用于在 Mac OS X 机器上运行 Docker 的。

 

在 OS X 中,Docker 主机地址就是 Linux 虚拟机的地址。当你使用 docker-machine 启动虚拟机的时候,该虚拟机会自动获取到 IP 地址。当您开启一个 container 的时候,container 上的端口会映射到虚拟机的端口上。本页面上的实践操作会一一印证上述内容。

第一步:安装docker Toolbox

https://github.com/docker/toolbox/releases/tag/v1.12.2

 

  1. 进入 Docker Toolbox 页面。

  2. 点击 Docker Toolbox 下载链接,进行下载。

  3. 双击安装包或者通过右击并在快捷菜单中选择“打开”的方式安装 Docker Toolbox。

    此时会弹出“Install Docker Toolbox”(安装 Docker 工具箱)窗口。

 

  1. 点击“继续”(Continue),安装 toolbox。

    此时,toolbox 会展现给你一些选项,供您自定义标准安装。

     

    默认情况下,标准的 Docker Toolbox 安装是这样的:



    通过点击“自定义”或“更改安装目录”修改这些默认安装值。

    • 向 /usr/local/bin 目录中添加 Docker 工具的二进制文件。
    • 修改权限使得这些二进制文件可供任何用户使用。
    • 更新现有的 VirtualBox 安装。
  2. 点击“安装”,执行标准安装。

    系统提示您输入密码。

     

  3. 输入密码,继续安装

    安装完成后,Docker Toolbox 会为您提供一些信息,通过这些信息您可以完成一些常见的任务。

  4. 点击“关闭”,离开当前窗口。

    安装完成之后 会有两个虚拟机管理virturabox工具,docker的信息,docker则被写入到usr/bin下

    eval "$(docker-machine env default)”

    启动虚拟机,运转docker

    使用 docker-machine 命令与该台要被迁移的虚拟机进行交互。 docker-machine 的子命令和 boot2docker 的子命令比起来还是有一些不同之处的。下面这个表列出了对比了二者的不同并介绍其功能。

     

    boot2dockerdocker-machinedocker-machine description
    initcreateCreates a new docker host.
    upstartStarts a stopped machine.
    sshsshRuns a command or interactive ssh session on the machine.
    save-Not applicable.
    downstopStops a running machine.
    poweroffstopStops a running machine.
    resetrestartRestarts a running machine.
    configinspectPrints machine configuration details.
    statuslsLists all machines and their status.
    infoinspectDisplays a machine's details.
    ipipDisplays the machine's ip address.
    shellinitenvDisplays shell commands needed to configure your shell to interact with a machine.
    deletermRemoves a machine.
    download-Not applicable.
    upgradeupgradeUpgrades a machine's Docker client to the latest stable release.

 

在终端中输入:docker-machine ls 查看docker在mac上的运行实例

 

该台处于 ACTIVE 状态的虚拟机,即本例中的 default 虚拟机,就是您的环境所指向的虚拟机。

 

docker运行相关命令:

docker run 启动 

docker run -d  后台运行

 

 

一般来说,docker run 命令会开启一个 container,并运行它,最后关闭它。加上 -d 这个参数,container 就可以在您执行了 docker run 这条命令后继续在后台运行了。加上 -P 这个参数就可以将 container 监听的那个端口告知给 Docker Host;这样您就可以在您的 Mac 机上访问 container 了。

 

docker 下载nginx镜像文件

docker search nginx #搜索nginx

docker pull nginx #拉取nginx

114603_zmdh_946182.png

完成之后,运行 docker ps 查看是否有docker容器再跑(显示无):

114603_wu4p_946182.png

查看nginx下载是否完成

docker images  列出当前镜像

 

启动一个nginx容器

docker run -d  -P —name web nginx

查看container的端口:

  docker port web

 

114603_1JaS_946182.png

114603_Nd8U_946182.png

并没有生效,其原因就是 DOCKER_HOST 的地址并不是你本地的机器的地址(0.0.0.0),而是您的 Docker 虚拟机的地址。

获取docker虚拟机地址:

docker-machine ip default

 

114603_zBHX_946182.png

 

 

停止一个容器

docker stop web

114603_77hY_946182.png

删除容器 docker rm web 

 

114603_YToq_946182.png

 

创建一个挂载点 cd $HOME

创建一个文件夹

mkdir dockerSite

cd dockerSite

docker run -d -P -v $HOME/dockerSite:/usr/share/nginx/html --name mysite nginx

 

 114603_UjiE_946182.png

docker port mystite

 

echo 'i am go home' > home.html

114603_QJE8_946182.png

 

停止当前容器

docker stop mystie

docker rm mystie

  1. 删除(列出的)每一台虚拟机.

    $ docker-machine rm dev
    Successfully removed dev
    

    删除一台虚拟机,意味着从VirtualBox~/.docker/machine/machines目录中同时删除虚拟机文件。

  2. 从“应用程序“文件夹中删除Docker快捷终端(Quickstart Terminal)和Kitematic.

  3. 从/usr/local/bin文件夹中删除docker, docker-compose和 docker-machine命令文件.

    $ rm /usr/local/bin/docker
    
  4. 从系统中删除 ~/.docker 文件夹.

  5. 删除(列出的)每一台虚拟机.

    $ docker-machine rm dev
    Successfully removed dev
    

    删除一台虚拟机,意味着从VirtualBox~/.docker/machine/machines目录中同时删除虚拟机文件。

  6. 从“应用程序“文件夹中删除Docker快捷终端(Quickstart Terminal)和Kitematic.

  7. 从/usr/local/bin文件夹中删除docker, docker-compose和 docker-machine命令文件.

    $ rm /usr/local/bin/docker
    
  8. 从系统中删除 ~/.docker 文件夹.

转载于:https://my.oschina.net/undermoonlightperson/blog/786698

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值