Docker 簡介
Docker 是一個開源的應用容器引擎,基于 Go 語言并遵從Apache2.0協(xié)議開源。
Docker 可以讓開發(fā)者打包他們的應用以及依賴包到一個輕量級、可移植的容器中,然后發(fā)布到任何流行的 Linux 機器上,也可以實現(xiàn)虛擬化。
容器是完全使用沙箱機制,相互之間不會有任何接口,更重要的是容器性能開銷極低。
Docker的應用場景
1.Web 應用的自動化打包和發(fā)布。
2.自動化測試和持續(xù)集成、發(fā)布。
3.在服務型環(huán)境中部署和調整數(shù)據(jù)庫或其他的后臺應用。
Docker 的優(yōu)點
1、簡化程序:
Docker 讓開發(fā)者可以打包他們的應用以及依賴包到一個可移植的容器中,然后發(fā)布到任何流行的 Linux 機器上,便可以實現(xiàn)虛擬化。Docker改變了虛擬化的方式,使開發(fā)者可以直接將自己的成果放入Docker中進行管理。方便快捷已經(jīng)是 Docker的最大優(yōu)勢,過去需要用數(shù)天乃至數(shù)周的 任務,在Docker容器的處理下,只需要數(shù)秒就能完成。
2、避免選擇恐懼癥:
如果你有選擇恐懼癥,還是資深患者。Docker 幫你打包你的糾結!比如 Docker 鏡像;Docker 鏡像中包含了運行環(huán)境和配置,所以 Docker 可以簡化部署多種應用實例工作。比如 Web 應用、后臺應用、數(shù)據(jù)庫應用、大數(shù)據(jù)應用比如 Hadoop 集群、消息隊列等等都可以打包成一個鏡像部署。
3、節(jié)省開支:
一方面,云計算時代到來,使開發(fā)者不必為了追求效果而配置高額的硬件,Docker 改變了高性能必然高價格的思維定勢。Docker 與云的結合,讓云空間得到更充分的利用。不僅解決了硬件管理的問題,也改變了虛擬化的方式。
安裝
yum install docker -y
查看版本
docker -v
啟動 docker
systemctl start docker.service
設置開機啟動
systemctl enable docker.service
因為國內訪問 Docker Hub 較慢, 可以使用騰訊云或者阿里云提供的國內鏡像源, 加速訪問 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
運行鏡像
生成一個 centos 鏡像為模板的容器并使用 bash shell
docker run -it centos /bin/bash
這個時候可以看到命令行的前端已經(jīng)變成了 [root@(一串 hash Id)] 的形式, 這說明我們已經(jīng)成功進入了 CentOS 容器
在容器內執(zhí)行任意命令, 不會影響到宿主機
mkdir -p /data/simple_docker
可以看到 /data 目錄下已經(jīng)創(chuàng)建成功了 simple_docker 文件夾
ls /data
退出容器
exit
查看宿主機的 /data 目錄, 并沒有 simple_docker 文件夾
ls /data