前言
Docker已經(jīng)成為了一門炙手可熱的技術(shù),每個程序員(特別是后端程序員)都應(yīng)該學(xué)習(xí)下Docker這門技術(shù)比吭。
Docker是什么
來自官網(wǎng)的定義:Docker是以Docker容器為資源分割和調(diào)度的基本單位刺覆,封裝了整個軟件運(yùn)行時環(huán)境严肪,為開發(fā)者和系統(tǒng)管理員設(shè)計(jì)的,用于構(gòu)建谦屑、發(fā)布和運(yùn)行應(yīng)用的平臺驳糯。Docker是開源的,其基于Go語言開發(fā)氢橙。Docker通過操作系統(tǒng)內(nèi)核技術(shù)(namespace酝枢、cgroups等內(nèi)核、資源隔離技術(shù))為容器提供資源隔離和安全保障悍手。
Docker可以做什么
1帘睦、消除線上、線下的環(huán)境差異坦康,保證了應(yīng)用生命周期的環(huán)境一致性和標(biāo)準(zhǔn)化
2竣付、版本化控制≈颓罚可以像Git一樣進(jìn)行版本控制古胆,版本回滾等。
3筛璧、高資源利用率和資源隔離逸绎⊙希可以精確地為應(yīng)用分配CPU、內(nèi)存等資源桶良,保證了應(yīng)用間互不影響座舍。
4、跨平臺性陨帆。Docker將應(yīng)用和其依賴的運(yùn)行時環(huán)境打包成鏡像曲秉,實(shí)現(xiàn)了“構(gòu)建一次,到處運(yùn)行”的理念疲牵。
5承二、等等等等~~~
Docker安裝
Docker命令的執(zhí)行一般都需要root權(quán)限,為了方便纲爸,所以下面的安裝方式都是在root用戶下進(jìn)行的亥鸠。非root用戶需要在命令前添加sudo。
腳本安裝方式(通用)
這種方式是通過下載腳本來安裝的识啦,是比較通用的一種安裝方式负蚊。
curl -fsSL http://get.docker.com/ | sh
執(zhí)行結(jié)果如下:
警告可以忽略它。一切正常的話颓哮,就可以啟動我們的Docker了家妆。
啟動docker:
systemctl start docker
或者
service docker start
centos系統(tǒng)安裝Docker-ce
移除老版本
$ 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
詳細(xì)的安裝手冊,大家可以參考官方文檔冕茅。官方文檔做了比較詳細(xì)的說明伤极。
非Linux系統(tǒng)
我推薦使用Linux系統(tǒng)來安裝docker。如果想在windows姨伤、Mac上安裝docker哨坪,可以使用docker for windows或者Desktop for Mac工具類解決吧。這里就不多說了乍楚。
docker-ce当编,docker-ee和docker-io的區(qū)別?
較舊版本的Docker稱為docker或docker-engine或docker.io炊豪。新的docker分為兩個版本凌箕,社區(qū)版(ce)和企業(yè)版(ee)。
所以词渤,盡量不要通過yum -y install docker-io的方式來安裝docker,因?yàn)檫@樣安裝到的是老版本的docker了串绩。
Hello World實(shí)現(xiàn)
編程界的慣例缺虐,先來個Hello World體驗(yàn)下docker吧
搜索hello-world鏡像
docker search hello
可以看到有一個官方的hello world鏡像。
獲取hello-world鏡像
docker pull hello-world
輸出結(jié)果:
Using default tag: latest
latest: Pulling from library/hello-world
1b930d010525: Pull complete
Digest: sha256:41a65640635299bab090f783209c1e3a3f11934cf7756b09cb2f1e02147c6ed8
Status: Downloaded newer image for hello-world:latest
啟動hello-world
docker run -it hello-world
輸出結(jié)果:
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官方為我們準(zhǔn)備的hello world實(shí)現(xiàn)了慧妄,大家也可以自己去體驗(yàn)一下。
總結(jié)
本文簡單地介紹了Docker剪芍,并且介紹了Docker的安裝方法和演示了docker官方提供的hello world實(shí)現(xiàn)塞淹。這里用到了一些docker命令,如search罪裹,pull饱普,run,可以先不用理會它状共,后面再具體分析套耕。