Docker 簡(jiǎn)介
Docker 是一個(gè)開源的應(yīng)用容器引擎蒸甜,基于 Go 語(yǔ)言并遵從Apache2.0協(xié)議開源玻募。
Docker 可以讓開發(fā)者打包他們的應(yīng)用以及依賴包到一個(gè)輕量級(jí)坤学、可移植的容器中通殃,然后發(fā)布到任何流行的 Linux 機(jī)器上咱枉,也可以實(shí)現(xiàn)虛擬化冤灾。
容器是完全使用沙箱機(jī)制玛臂,相互之間不會(huì)有任何接口烤蜕,更重要的是容器性能開銷極低封孙。
Docker的應(yīng)用場(chǎng)景
1.Web 應(yīng)用的自動(dòng)化打包和發(fā)布。
2.自動(dòng)化測(cè)試和持續(xù)集成讽营、發(fā)布虎忌。
3.在服務(wù)型環(huán)境中部署和調(diào)整數(shù)據(jù)庫(kù)或其他的后臺(tái)應(yīng)用。
Docker 的優(yōu)點(diǎn)
1橱鹏、簡(jiǎn)化程序:
Docker 讓開發(fā)者可以打包他們的應(yīng)用以及依賴包到一個(gè)可移植的容器中膜蠢,然后發(fā)布到任何流行的 Linux 機(jī)器上,便可以實(shí)現(xiàn)虛擬化莉兰。Docker改變了虛擬化的方式挑围,使開發(fā)者可以直接將自己的成果放入Docker中進(jìn)行管理。方便快捷已經(jīng)是 Docker的最大優(yōu)勢(shì)糖荒,過(guò)去需要用數(shù)天乃至數(shù)周的 任務(wù)杉辙,在Docker容器的處理下,只需要數(shù)秒就能完成寂嘉。
2奏瞬、避免選擇恐懼癥:
如果你有選擇恐懼癥,還是資深患者泉孩。Docker 幫你打包你的糾結(jié)!比如 Docker 鏡像并淋;Docker 鏡像中包含了運(yùn)行環(huán)境和配置寓搬,所以 Docker 可以簡(jiǎn)化部署多種應(yīng)用實(shí)例工作。比如 Web 應(yīng)用县耽、后臺(tái)應(yīng)用句喷、數(shù)據(jù)庫(kù)應(yīng)用、大數(shù)據(jù)應(yīng)用比如 Hadoop 集群兔毙、消息隊(duì)列等等都可以打包成一個(gè)鏡像部署唾琼。
3、節(jié)省開支:
一方面澎剥,云計(jì)算時(shí)代到來(lái)锡溯,使開發(fā)者不必為了追求效果而配置高額的硬件,Docker 改變了高性能必然高價(jià)格的思維定勢(shì)哑姚。Docker 與云的結(jié)合祭饭,讓云空間得到更充分的利用。不僅解決了硬件管理的問(wèn)題叙量,也改變了虛擬化的方式倡蝙。
安裝
yum install docker -y
查看版本
docker -v
啟動(dòng) docker
systemctl start docker.service
設(shè)置開機(jī)啟動(dòng)
systemctl enable docker.service
因?yàn)閲?guó)內(nèi)訪問(wèn) Docker Hub 較慢, 可以使用騰訊云或者阿里云提供的國(guó)內(nèi)鏡像源, 加速訪問(wèn) Docker Hub
修改配置文件
echo "OPTIONS='--registry-mirror=https://mirror.ccs.tencentyun.com'" >> /etc/sysconfig/docker
重載配置文件
systemctl daemon-reload
重啟 docker
systemctl restart docker.service
下載鏡像
下載 CentOS 鏡像到本地
docker pull centos
查看鏡像列表
docker images
運(yùn)行鏡像
生成一個(gè) centos 鏡像為模板的容器并使用 bash shell
docker run -it centos /bin/bash
這個(gè)時(shí)候可以看到命令行的前端已經(jīng)變成了 [root@(一串 hash Id)] 的形式, 這說(shuō)明我們已經(jīng)成功進(jìn)入了 CentOS 容器
在容器內(nèi)執(zhí)行任意命令, 不會(huì)影響到宿主機(jī)
mkdir -p /data/simple_docker
可以看到 /data 目錄下已經(jīng)創(chuàng)建成功了 simple_docker 文件夾
ls /data
退出容器
exit
查看宿主機(jī)的 /data 目錄, 并沒有 simple_docker 文件夾
ls /data