MacOS Docker安裝及使用

MacOS Docker 安裝

Homebrew 安裝

macOS 咱們可使用 Homebrew 來安裝 Docker。
Homebrew 的 Cask 已經支持 Docker for Mac,所以能夠很方便的使用 Homebrew Cask 來進行安裝:linux

# 安裝命令
brew cask install docker

==> Satisfying dependencies
==> Downloading https://download.docker.com/mac/stable/28905/Docker.dmg
######################################################################## 100.0%
==> Verifying SHA-256 checksum for Cask 'docker'.
==> Installing Cask docker
==> Moving App 'Docker.app' to '/Applications/Docker.app'.
🍺  docker was successfully installed!

從應用中找到 Docker 圖標並點擊運行,點擊 Next,可能會詢問你的 macOS 登錄密碼,你輸入便可。以後會彈出一個 Docker 運行的提示窗口,狀態欄上也有有個小鯨魚的圖標web

手動下載安裝

若是須要手動下載,請點擊如下連接下載 Stable 或 Edge 版本的 Docker for Mac。
如同 macOS 其它軟件同樣,安裝也很是簡單,雙擊下載的 .dmg 文件,而後將鯨魚圖標拖拽到 Application 文件夾便可。docker

圖片描述

從應用中找到 Docker 圖標並點擊運行。可能會詢問 macOS 的登錄密碼,輸入便可。ubuntu

點擊頂部狀態欄中的鯨魚圖標會彈出操做菜單。bash

圖片描述

剛安裝完,可能會看到安裝成功的界面網絡

啓動終端後,經過命令能夠檢查安裝後的 Docker 版本app

~ docker version
Client: Docker Engine - Community
 Version:           18.09.0
 API version:       1.39
 Go version:        go1.10.4
 Git commit:        4d60db4
 Built:             Wed Nov  7 00:47:43 2018
 OS/Arch:           darwin/amd64
 Experimental:      false

Server: Docker Engine - Community
 Engine:
  Version:          18.09.0
  API version:      1.39 (minimum version 1.12)
  Go version:       go1.10.4
  Git commit:       4d60db4
  Built:            Wed Nov  7 00:55:00 2018
  OS/Arch:          linux/amd64
  Experimental:     false
  
~ docker --version
Docker version 18.09.0, build 4d60db4

~ docker -v
Docker version 18.09.0, build 4d60db4

鏡像加速

鑑於國內網絡問題,後續拉取 Docker 鏡像十分緩慢,咱們須要配置加速器來解決,網易的鏡像地址:http://hub-mirror.c.163.comwebapp

在頂部狀態欄點擊 鯨魚圖標 -> Perferences... -> Daemon -> Registry mirrors。在列表中填寫加速器地址便可。修改完成以後,點擊 Apply & Restart 按鈕,Docker 就會重啓並應用配置的鏡像地址了。ui

圖片描述

以後咱們能夠經過 docker info 來查看是否配置成功spa

~ docker info
...
Registry Mirrors:
 http://hub-mirror.c.163.com/
Live Restore Enabled: false
Product License: Community Engine

Docker 使用

經常使用命令

查看版本信息

# 查看docker相關信息
docker info

# 查看版本信息
docker -v 或者 docker --version

# 查看Client和Server版本信息
docker version

docker run 命令

Docker 容許你在容器內運行應用程序, 使用 docker run命令來在容器內運行一個應用程序。

docker run ubuntu:15.10 /bin/echo "Hello world"

各個參數解析:

  • docker: Docker 的二進制執行文件。
  • run:與前面的 docker 組合來運行一個容器。
  • ubuntu:15.10指定要運行的鏡像,Docker首先從本地主機上查找鏡像是否存在,若是不存在,Docker 就會從鏡像倉庫 Docker Hub 下載公共鏡像。
  • /bin/echo "Hello world": 在啓動的容器裏執行的命令

以上命令完整的意思能夠解釋爲:Docker 以 ubuntu15.10 鏡像建立一個新容器,而後在容器裏執行 bin/echo "Hello world",而後輸出結果。

docker run -i -t ubuntu:15.10 /bin/bash

各個參數解析:

  • -t:在新容器內指定一個僞終端或終端
  • -i:容許你對容器內的標準輸入 (STDIN) 進行交互
  • -d:讓容器在後臺運行
  • -P:將容器內部使用的網絡端口映射到咱們使用的主機上
  • 能夠經過 -p 參數來設置不同的端口

此時咱們已進入一個 ubuntu15.10系統的容器

在容器中運行命令 cat /proc/version和ls分別查看當前系統的版本信息和當前目錄下的文件列表

root@37017c93983f:/# ls
bin  boot  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
root@37017c93983f:/# cat /proc/version
Linux version 4.9.125-linuxkit (root@659b6d51c354) (gcc version 6.4.0 (Alpine 6.4.0) ) #1 SMP Fri Sep 7 08:20:28 UTC 2018
root@37017c93983f:/#

經過運行exit命令或者使用CTRL+D來退出容器

啓動容器(後臺模式): 使用如下命令建立一個以進程方式運行的容器
docker run -d ubuntu:15.10 /bin/sh -c "while true; do echo hello world; sleep 1; done"

查看命令

# 查看當前運行的容器
docker ps

# 查看全部容器,包括中止的
docker ps -a

# 查看最新建立的容器,只列出最後建立的
docker ps -l

# 查看網絡端口
docker port [容器ID|容器名]

# 查看容器內部的標準輸出
docker logs [容器ID|容器名]

# 查看容器內部運行的進程
docker top [容器ID|容器名]

# 查看 Docker 的底層信息。它會返回一個 JSON 文件記錄着 Docker 容器的配置和狀態信息
docker inspect [容器ID|容器名]

docker stop 命令

使用docker stop 命令來中止容器

docker stop [容器ID|容器名]

docker start 命令

已經中止的容器,可使用命令 docker start [容器ID|容器名] 來啓動
正在運行的容器,可使用 docker restart [容器ID|容器名] 命令來重啓

docker rm 命令

# 刪除容器,刪除容器時,容器必須是中止狀態
docker rm [容器ID|容器名]

# 刪除全部的容器
docker rm $(docker ps -aq)

Docker容器使用

Docker 客戶端

直接輸入 docker 命令來查看到 Docker 客戶端的全部命令選項
經過命令 docker command --help 更深刻的瞭解指定的 Docker 命令使用方法

Docker 鏡像使用

當運行容器時,使用的鏡像若是在本地中不存在,docker 就會自動從 docker 鏡像倉庫中下載,默認是從 Docker Hub 公共鏡像源下載

列出鏡像列表

# 列出本地主機上的鏡像
~ docker images
REPOSITORY      TAG           IMAGE ID            CREATED             SIZE
ubuntu          15.10         9b9cb95443b5        2 years ago         137MB
training/webapp latest        6fae60ef3446        3 years ago         349MB

各個選項說明:

  • REPOSITORY:表示鏡像的倉庫源
  • TAG:鏡像的標籤
  • IMAGE ID:鏡像ID
  • CREATED:鏡像建立時間
  • SIZE:鏡像大小

同一倉庫源能夠有多個 TAG,表明這個倉庫源的不一樣個版本,如ubuntu倉庫源裏,有15.十、14.04等多個不一樣的版本,咱們使用 REPOSITORY:TAG 來定義不一樣的鏡像

~ docker run -t -i ubuntu:15.10 /bin/bash
 root@6939a46db5bb:/#

若是不指定一個鏡像的版本標籤,例如只使用 ubuntu,docker 將默認使用 ubuntu:latest 鏡像

獲取一個新的鏡像

當咱們在本地主機上使用一個不存在的鏡像時 Docker 就會自動下載這個鏡像。若是咱們想預先下載這個鏡像,咱們可使用 docker pull 命令來下載它

查找鏡像

# 搜索鏡像
docker search 鏡像名
相關文章
相關標籤/搜索