Docker已經成爲了一門煊赫一時的技術,每一個程序員(特別是後端程序員)都應該學習下Docker這門技術。linux
來自官網的定義:Docker是以Docker容器爲資源分割和調度的基本單位,封裝了整個軟件運行時環境,爲開發者和系統管理員設計的,用於構建、發佈和運行應用的平臺。Docker是開源的,其基於Go語言開發。Docker經過操做系統內核技術(namespace、cgroups等內核、資源隔離技術)爲容器提供資源隔離和安全保障。程序員
一、消除線上、線下的環境差別,保證了應用生命週期的環境一致性和標準化docker
二、版本化控制。能夠像Git同樣進行版本控制,版本回滾等。shell
三、高資源利用率和資源隔離。能夠精確地爲應用分配CPU、內存等資源,保證了應用間互不影響。編程
四、跨平臺性。Docker將應用和其依賴的運行時環境打包成鏡像,實現了「構建一次,處處運行」的理念。ubuntu
五、等等等等~~~windows
Docker命令的執行通常都須要root權限,爲了方便,因此下面的安裝方式都是在root用戶下進行的。非root用戶須要在命令前添加sudo。後端
這種方式是經過下載腳原本安裝的,是比較通用的一種安裝方式。centos
curl -fsSL http://get.docker.com/ | sh
複製代碼
執行結果以下:安全
警告能夠忽略它。一切正常的話,就能夠啓動咱們的Docker了。
啓動docker:
systemctl start docker
或者
service docker start
複製代碼
移除老版本
$ sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
複製代碼
安裝docker ce
$ sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
複製代碼
$ sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
複製代碼
sudo yum install docker-ce docker-ce-cli containerd.io
複製代碼
詳細的安裝手冊,你們能夠參考官方文檔。官方文檔作了比較詳細的說明。
我推薦使用Linux系統來安裝docker。若是想在windows、Mac上安裝docker,可使用docker for windows或者Desktop for Mac工具類解決吧。這裏就很少說了。
較舊版本的Docker稱爲docker或docker-engine或docker.io。新的docker分爲兩個版本,社區版(ce)和企業版(ee)。
因此,儘可能不要經過yum -y install docker-io的方式來安裝docker,由於這樣安裝到的是老版本的docker了。
編程界的慣例,先來個Hello World體驗下docker吧
docker search hello
複製代碼
能夠看到有一個官方的hello world鏡像。
docker pull hello-world
複製代碼
輸出結果:
Using default tag: latest
latest: Pulling from library/hello-world
1b930d010525: Pull complete
Digest: sha256:41a65640635299bab090f783209c1e3a3f11934cf7756b09cb2f1e02147c6ed8
Status: Downloaded newer image for hello-world:latest
複製代碼
docker run -it hello-world
複製代碼
輸出結果:
Hello from Docker!
This message shows that your installation appears to be working correctly.
To generate this message, Docker took the following steps:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
(amd64)
3. The Docker daemon created a new container from that image which runs the
executable that produces the output you are currently reading.
4. The Docker daemon streamed that output to the Docker client, which sent it
to your terminal.
To try something more ambitious, you can run an Ubuntu container with:
$ docker run -it ubuntu bash
Share images, automate workflows, and more with a free Docker ID:
https://hub.docker.com/
For more examples and ideas, visit:
https://docs.docker.com/get-started/
複製代碼
看第一行,輸出了Hello from Docker!。這就是docker官方爲咱們準備的hello world實現了,你們也能夠本身去體驗一下。
本文簡單地介紹了Docker,而且介紹了Docker的安裝方法和演示了docker官方提供的hello world實現。這裏用到了一些docker命令,如search,pull,run,能夠先不用理會它,後面再具體分析。