簡介: Docker 是一個開源的應用容器引擎,基於 Go 語言開發,Docker 可讓開發者打包他們的應用以及依賴包到一個輕量級、可移植的容器中,而後發佈到任何流行的系統。linux
Docker 是一個開源的應用容器引擎,基於 Go 語言開發,Docker 可讓開發者打包他們的應用以及依賴包到一個輕量級、可移植的容器中,而後發佈到任何流行的系統。docker
Docker 是世界領先的軟件容器平臺,Docker 官方的口號是」調試你的應用,而不是調試環境「。在進行多人協做開發時,開發者可使用 Docker 來消除所謂「我這裏運行是好的」(works on my machine)問題,運維人員使用 Docker 來並行的運行和管理應用來得到更優計算密度,基於各自獨立的容器,不會由於環境緣由致使應用運行錯誤。ubuntu
以下圖所示,在工做當中,若是咱們面對這樣多的服務、多個服務器,以及多種環境,咱們應該如何處理呢?若是還繼續用傳統的方式打包部署,咱們會浪費多少時間? windows
因此在 Docker 橫空出世以前,應用打包一直是大部分研發團隊的痛點,在 Docker 出現後,它以更高效的利用系統資源、更高效的利用系統資源、一致的運行環境、持續交付和部署、更輕鬆的遷移、更輕鬆的維護和拓展,6大優勢迅速火了起來。centos
容器是鏡像建立的應用實例,能夠建立、啓動、中止、刪除容器,各個容器之間是是相互隔離的,互不影響。bash
注意:鏡像自己是隻讀的,容器從鏡像啓動時,Docker 在鏡像的上層建立一個可寫層,鏡像自己不變。服務器
Docker 是開源的商業產品,有兩種版本:社區版(Community Edition,縮寫爲 CE)和企業版(Enterprise Edition,縮寫爲 EE)。企業版包含了一些收費服務,通常用不到。咱們下面將會演示 Docker CE 版本的使用方法。網絡
Docker 支持不少操做系統平臺,有你們經常使用的 Microsoft Windows 系列操做系統(Docker 不支持 Windows 10 家庭版系統),Linux 發行版和 MacOS 系統。app
Windows 系統安裝方法
Windows 上有兩種安裝 Docker 方式:運維
choco install docker-for-windows
su root
2.安裝必要的一些系統工具
apt-get update apt-get -y install apt-transport-https ca-certificates curl \ software-properties-common
3.安裝 GPG 證書
curl -fsSL \ http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg \ | sudo apt-key add -
4.寫入軟件源信息
add-apt-repository "deb [arch=amd64] \ http://mirrors.aliyun.com/docker-ce/linux/ubuntu \ $(lsb_release -cs) stable"
5.更新並安裝 Docker-CE
apt-get -y update apt-get -y install docker-ce
su root
2.安裝必要的一些系統工具
yum install -y yum-utils device-mapper-persistent-data lvm2
3.添加軟件源信息
yum-config-manager --add-repo \ http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
4.更新並安裝 Docker-CE
yum makecache fast yum -y install docker-ce
macOS 操做系統安裝 Docker 方法
macOS 上有兩種安裝 Docker 方式:
brew cask install docker
systemctl start docker
systemctl retart docker
bash systemctl enable docker ¨G2G bash systemctl status docker
咱們下載 Docker 鏡像的時候,默認會訪問 Docker 網站,而 Docker 網站是在國外部署的,距離比較遠下載速度特別慢。咱們能夠經過設置加速器的方式來加速 Docker 鏡像下載的速度。下面將描述一下使用加速器的步驟:
1.咱們這裏選擇的是阿里雲提供的 Docker 鏡像加速器服務,首先訪問阿里雲的鏡像倉庫(若是沒有阿里雲帳號則須要註冊):
https://cr.console.aliyun.com/
2.選擇「鏡像加速器「
3.根據我的的系統平臺,選擇運行 Docker 的 OS,並按照操做文檔的要求修改 Docker 配置文件,而後重啓 Docker 服務便可完成加速器的配置。
Docker 的經常使用命令通常分爲:鏡像管理、容器管理。
查看 Docker 版本
docker version
下面使用 busybox 軟件做爲示例,busybox 軟件是一個集成了很是多最經常使用的 Linux 命令和工具的軟件集合。
docker images
docker pull busybox:latest
備註:latest 表示使用 busybox 軟件的最新版本,因此軟件默認下載都是 latest 版本。
docker save busybox > busybox.tar
備註:把 busybox 鏡像導出爲 busybox.tar 文件,能夠把 busybox.tar 文件複製到別的操做系統上使用,免除下載時網絡慢的問題。
docker rmi busybox:latest
備註:鏡像通常都會根據版本打包,若是有下載一個軟件的多個版本就須要指定具體版本信息。如 busybox:1.26 就會刪除 busybox 軟件的 1.26 版本的鏡像,不會刪除latest 版本的鏡像。
docker load < busybox.tar
備註:使用導出命令導出的鏡像,能夠經過此命令導入到沒有下載此軟件的操做系統,方便網絡條件差的狀況使用。
docker tag busybox:latest busybox:test
備註:busybox:latest原鏡像名,busybox:test要改爲的鏡像名
docker run -d --name=busybox busybox:latest ping 114.114.114.114
run
:run參數表明啓動容器-d
:之後臺daemon的方式運行--name
:指定一個容器的名字,此後操做都須要使用這個名字來定位容器。busybox:latest
:容器所使用的鏡像名字ping 114.114.114.114
:啓動容器執行的命令docker ps
docker ps -a
CONTAINER ID
:容器啓動的idIMAGE
:使用哪一個鏡像啓動的容器COMMAND
:啓動容器的命令CREATED
:建立容器的時間STATUS
:容器啓動時間PORTS
:容器映射到宿主機的端口NAMES
:容器啓動的名字docker start busybox
docker restart busybox
docker stop busybox
docker kill busybox
docker rm -f busybox
docker exec -it busybox ls
備註:-it 交互終端
docker cp busybox:/etc/hosts hosts
docker logs -f busybox
以上,更多進階內容後續進一步探討。