[初闻道]在mac上安装docker,及docker-compose

初闻道系列之二,装好docker好搞事。

Posted by 黄药师 on March 25, 2018

现在流行用docker作容器来开发部署。
本文主要解决在mac上安装docker[-compose],以及启动一个nginx实例。


Requirement

系统要求

Docker for Mac 要求系统最低为 macOS 10.10.3 Yosemite。如果系统不满足需求,可以安装 Docker Toolbox

提前安装好

  • zsh
  • homebrew
  • sublime text or vim

安装

使用 Homebrew 安装

macOS 我们可以使用 Homebrew 来安装 Docker:

$ brew cask install docker

==> Creating Caskroom at /usr/local/Caskroom
==> We'll set permissions properly so we won't need sudo in the future
Password:          # 输入 macOS 密码
==> Satisfying dependencies
==> Downloading https://download.docker.com/mac/stable/23608/Docker.dmg
######################################################################## 100.0%
==> Verifying checksum for Cask docker
==> Installing Cask docker
==> Moving App 'Docker.app' to '/Applications/Docker.app'.
🍺  docker was successfully installed!

在载入 Docker app 后,点击 Next,可能会询问你的 macOS 登陆密码,你输入即可。之后会弹出一个 Docker 运行的提示窗口,状态栏上也有有个小鲸鱼的图标()。


###手动下载安装 如果需要手动下载,请点击以下链接下载 StableEdge 版本的 Docker for Mac。
双击下载的 .dmg 文件,然后将鲸鱼图标拖拽到 Application 文件夹即可。
从应用中找到 Docker 图标并点击运行, 或者呼出Alfred输入docker回车。可能会询问 macOS 的登陆密码,输入即可。

点击状态栏的图标可以得到操作菜单。

第一次点击图标,可能会看到这个安装成功的界面,点击 “Got it!” 可以关闭这个窗口。

这里有个小提示: 自己注册一个 docker 的账号,然后在小鲸鱼菜单里面登录 登录的时候用ID登录,不要用email,否则后续的命令行可能会出现

Unable to find image 'nginx:latest' locally
docker: Error response from daemon: Get https://registry-1.docker.io/v2/library/nginx/manifests/latest: unauthorized: incorrect username or password.
See 'docker run --help'.

要找到自己的ID很简单,打开 docker store,
登录以后看右上角,头像旁边就是自己注册的ID

启动终端后,通过命令可以检查安装后的 Docker 版本。

$ docker --version
Docker version 17.12.0-ce, build c97c6d6
$ docker-compose --version
docker-compose version 1.18.0, build 8dd22a9
$ docker-machine --version
docker-machine version 0.13.0, build 9ba6da9

Docker for Mac 和 Docker Toolbox 已经包含了 Compose 了, 所以 Mac 用户不用单独安装Compose了。

如果 docker version、docker info 都正常的话,可以尝试运行一个 Nginx 服务器

$ docker run -d -p 80:80 --name webserver nginx

参数的含义和用法参考网上的文档

服务运行后,可以访问 http://localhost,如果看到了 “Welcome to nginx!”,就说明 Docker for Mac 安装成功了。

要停止 Nginx 服务器并删除执行下面的命令:

$ docker stop webserver
$ docker rm webserver

有些用户会觉得国内网络拉取docker镜像速度很慢,可能需要配置加速服务器。网上有人分享自己的加速地址,可以参考配置一下。