【docker系列】docker深入浅出之安装教程
Docker簡介
Docker 是一個開源的應用容器引擎,基于 GO語言并遵從Apache2.0協議開源。
Docker 可以讓開發者打包他們的應用以及依賴包到一個輕量級、可移植的容器中,然后發布到任何流行的 Linux 機器上,也可以實現虛擬化。
容器是完全使用沙箱機制,相互之間不會有任何接口(類似 iPhone 的 app),更重要的是容器性能開銷極低。
Docker 從 17.03 版本之后分為 CE(Community Edition: 社區版) 和 EE(Enterprise Edition: 企業版),我們用社區版就可以了。
Docker的應用場景
-
Web 應用的自動化打包和發布。
-
自動化測試和持續集成、發布。
-
在服務型環境中部署和調整數據庫或其他的后臺應用。
- 從頭編譯或者擴展現有的OpenShift或Cloud Foundry平臺來搭建自己的PaaS環境。
Docker 的優點
-
1、簡化程序:
Docker 讓開發者可以打包他們的應用以及依賴包到一個可移植的容器中,然后發布到任何流行的 Linux 機器上,便可以實現虛擬化。Docker改變了虛擬化的方式,使開發者可以直接將自己的成果放入Docker中進行管理。方便快捷已經是 Docker的最大優勢,過去需要用數天乃至數周的 任務,在Docker容器的處理下,只需要數秒就能完成。 -
2、避免選擇恐懼癥:
如果你有選擇恐懼癥,還是資深患者。Docker 幫你 打包你的糾結!比如 Docker 鏡像;Docker 鏡像中包含了運行環境和配置,所以 Docker 可以簡化部署多種應用實例工作。比如 Web 應用、后臺應用、數據庫應用、大數據應用比如 Hadoop 集群、消息隊列等等都可以打包成一個鏡像部署。 -
3、節省開支:
一方面,云計算時代到來,使開發者不必為了追求效果而配置高額的硬件,Docker 改變了高性能必然高價格的思維定勢。Docker 與云的結合,讓云空間得到更充分的利用。不僅解決了硬件管理的問題,也改變了虛擬化的方式。
相關鏈接
Docker 官網:http://www.docker.com
Github Docker 源碼:https://github.com/docker/docker
Docker 架構
Docker 使用客戶端-服務器 (C/S) 架構模式,使用遠程API來管理和創建Docker容器。
Docker 容器通過 Docker 鏡像來創建。
容器與鏡像的關系類似于面向對象編程中的對象與類。
| 容器 | 對象 |
| 鏡像 | 類 |
| Docker 鏡像(Images) | Docker 鏡像是用于創建 Docker 容器的模板。 |
| Docker 容器(Container) | 容器是獨立運行的一個或一組應用。 |
| Docker 客戶端(Client) | Docker 客戶端通過命令行或者其他工具使用 Docker API (https://docs.docker.com/reference/api/docker_remote_api) 與 Docker 的守護進程通信。 |
| Docker 主機(Host) | 一個物理或者虛擬的機器用于執行 Docker 守護進程和容器。 |
| Docker 倉庫(Registry) | Docker 倉庫用來保存鏡像,可以理解為代碼控制中的代碼倉庫。 Docker Hub(https://hub.docker.com) 提供了龐大的鏡像集合供使用。 ? |
| Docker Machine | Docker Machine是一個簡化Docker安裝的命令行工具,通過一個簡單的命令行即可在相應的平臺上安裝Docker,比如VirtualBox、 Digital Ocean、Microsoft Azure。 |
?
Ubuntu Docker 安裝
Docker 支持以下的 Ubuntu 版本:
- Ubuntu Precise 12.04 (LTS)
- Ubuntu Trusty 14.04 (LTS)
- Ubuntu Wily 15.10
- Xenial 16.04 (LTS)
- 其他更新的版本……
如果安裝 Docker ce 需要 16.04 及以上版本,安裝步驟可以查看筆記部分:
- Cosmic 18.10
- Bionic 18.04 (LTS)
- Xenial 16.04 (LTS)
前提條件
Docker 要求 Ubuntu 系統的內核版本高于 3.10 ,查看本頁面的前提條件來驗證你的 Ubuntu 版本是否支持 Docker。
通過 uname -r 命令查看你當前的內核版本
? ? ? ??
使用腳本安裝 Docker
1、獲取最新版本的 Docker 安裝包
sudo wget -qO- https://get.docker.com/ | sh
2、啟動docker 后臺服務
sudo service docker start
3、測試運行hello-world
docker run hello-world
鏡像加速
鑒于國內網絡問題,后續拉取 Docker 鏡像十分緩慢,我們可以需要配置加速器來解決,我使用的是網易的鏡像地址:http://hub-mirror.c.163.com。
新版的 Docker 使用 /etc/docker/daemon.json(Linux) 或者 %programdata%\docker\config\daemon.json(Windows) 來配置 Daemon。
請在該配置文件中加入(沒有該文件的話,請先建一個):
{"registry-mirrors": ["http://hub-mirror.c.163.com"] }其他方式安裝流程:
1.更換國內軟件源,推薦中國科技大學的源,穩定速度快(可選)
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak sudo sed -i 's/archive.ubuntu.com/mirrors.ustc.edu.cn/g' /etc/apt/sources.list sudo apt update2.安裝需要的包
sudo apt install apt-transport-https ca-certificates software-properties-common curl3.添加 GPG 密鑰,并添加 Docker-ce 軟件源,這里還是以中國科技大學的 Docker-ce 源為例
curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add - sudo add-apt-repository "deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu \ $(lsb_release -cs) stable"4.添加成功后更新軟件包緩存
sudo apt update5.安裝 Docker-ce
sudo apt install docker-ce6.設置開機自啟動并啟動 Docker-ce(安裝成功后默認已設置并啟動,可忽略)
sudo systemctl enable docker sudo systemctl start docker7.測試運行
sudo docker run hello-world8.添加當前用戶到 docker 用戶組,可以不用 sudo 運行 docker(可選)
sudo groupadd docker sudo usermod -aG docker $USER9.測試添加用戶組(可選)
docker run hello-worldCentOS Docker 安裝
Docker支持以下的CentOS版本:
- CentOS 7 (64-bit)
- CentOS 6.5 (64-bit)?或更高的版本
前提條件
目前,CentOS 僅發行版本中的內核支持 Docker。
Docker 運行在 CentOS 7 上,要求系統為64位、系統內核版本為 3.10 以上。
Docker 運行在?CentOS-6.5?或更高的版本的 CentOS 上,要求系統為64位、系統內核版本為 2.6.32-431 或者更高版本。
使用 yum 安裝(CentOS 7下)
Docker 要求 CentOS 系統的內核版本高于 3.10 ,查看本頁面的前提條件來驗證你的CentOS 版本是否支持 Docker 。
通過?uname -r?命令查看你當前的內核版本
uname -r
安裝 Docker
從 2017 年 3 月開始 docker 在原來的基礎上分為兩個分支版本: Docker CE 和 Docker EE。
Docker CE 即社區免費版,Docker EE 即企業版,強調安全,但需付費使用。
本文介紹 Docker CE 的安裝使用。
移除舊的版本:
$ sudo yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-selinux \docker-engine-selinux \docker-engine安裝一些必要的系統工具:
sudo yum install -y yum-utils device-mapper-persistent-data lvm2添加軟件源信息:
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo更新 yum 緩存:
sudo yum makecache fast安裝 Docker-ce:
sudo yum -y install docker-ce啟動 Docker 后臺服務
sudo systemctl start docker測試運行 hello-world
docker run hello-world
?
由于本地沒有hello-world這個鏡像,所以會下載一個hello-world的鏡像,并在容器內運行。
使用腳本安裝 Docker
1、使用?sudo?或?root?權限登錄 Centos。
2、確保 yum 包更新到最新。
$ sudo yum update3、執行 Docker 安裝腳本。
$ curl -fsSL https://get.docker.com -o get-docker.sh $ sudo sh get-docker.sh執行這個腳本會添加?docker.repo?源并安裝 Docker。
4、啟動 Docker 進程。
sudo systemctl start docker5、驗證?docker?是否安裝成功并在容器中執行一個測試的鏡像。
$ sudo docker run hello-world docker ps到此,Docker 在 CentOS 系統的安裝完成。
鏡像加速
鑒于國內網絡問題,后續拉取 Docker 鏡像十分緩慢,我們可以需要配置加速器來解決,我使用的是網易的鏡像地址:http://hub-mirror.c.163.com。
新版的 Docker 使用 /etc/docker/daemon.json(Linux) 或者 %programdata%\docker\config\daemon.json(Windows) 來配置 Daemon。
請在該配置文件中加入(沒有該文件的話,請先建一個):
{"registry-mirrors": ["http://hub-mirror.c.163.com"] }刪除 Docker CE
執行以下命令來刪除 Docker CE:
$ sudo yum remove docker-ce $ sudo rm -rf /var/lib/dockerMacOS Docker 安裝
使用 Homebrew 安裝
macOS 我們可以使用 Homebrew 來安裝 Docker。
Homebrew 的 Cask 已經支持 Docker for Mac,因此可以很方便的使用 Homebrew Cask 來進行安裝:
$ 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/21090/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 運行的提示窗口,狀態欄上也有有個小鯨魚的圖標()。
手動下載安裝
如果需要手動下載,請點擊以下鏈接下載?Stable?或?Edge?版本的 Docker for Mac。
如同 macOS 其它軟件一樣,安裝也非常簡單,雙擊下載的 .dmg 文件,然后將鯨魚圖標拖拽到 Application 文件夾即可。
從應用中找到 Docker 圖標并點擊運行。可能會詢問 macOS 的登陸密碼,輸入即可。
點擊頂部狀態欄中的鯨魚圖標會彈出操作菜單。
第一次點擊圖標,可能會看到這個安裝成功的界面,點擊 "Got it!" 可以關閉這個窗口。
啟動終端后,通過命令可以檢查安裝后的 Docker 版本。
$ docker --version Docker version 17.09.1-ce, build 19e2cf6鏡像加速
鑒于國內網絡問題,后續拉取 Docker 鏡像十分緩慢,我們可以需要配置加速器來解決,我使用的是網易的鏡像地址:http://hub-mirror.c.163.com。
在任務欄點擊 Docker for mac 應用圖標 -> Perferences... -> Daemon -> Registry mirrors。在列表中填寫加速器地址即可。修改完成之后,點擊 Apply & Restart 按鈕,Docker 就會重啟并應用配置的鏡像地址了。
之后我們可以通過 docker info 來查看是否配置成功。
$ docker info ... Registry Mirrors:http://hub-mirror.c.163.com Live Restore Enabled: false?
總結
以上是生活随笔為你收集整理的【docker系列】docker深入浅出之安装教程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 远程控制与Nvidia显卡驱动和CUDA
- 下一篇: 大学生礼仪6