摘要:隔離的進(jìn)程獨(dú)立于宿主和其它的隔離的進(jìn)程。容器可以被創(chuàng)建啟動(dòng)停止刪除暫停等。添加內(nèi)核參數(shù)使用看到下面的這些警告信息解決方法內(nèi)核配置參數(shù)以啟用這些功能。然后重新加載
Docker簡(jiǎn)介
Docker 是使用 Go 語(yǔ)言 進(jìn)行開(kāi)發(fā)實(shí)現(xiàn),基于 Linux 內(nèi)核的 cgroup,namespace,以及 AUFS 類(lèi)的 Union FS 等技術(shù),對(duì)進(jìn)程進(jìn)行封裝隔離,屬于 操作系統(tǒng)層面的虛擬化技術(shù)。
隔離的進(jìn)程獨(dú)立于宿主和其它的隔離的進(jìn)程。
Docker 在容器的基礎(chǔ)上,進(jìn)行了進(jìn)一步的封裝,從文件系統(tǒng)、網(wǎng)絡(luò)互聯(lián)到進(jìn)程隔離等
優(yōu)點(diǎn)是沒(méi)有進(jìn)行硬件虛擬。因此容器要比傳統(tǒng)虛擬機(jī)更為輕便。
Docker的優(yōu)勢(shì)高效的利用系統(tǒng)資源
快速的啟動(dòng)時(shí)間
一致的運(yùn)行環(huán)境
持續(xù)交付和部署:對(duì)開(kāi)發(fā)和運(yùn)維(DevOps)人員來(lái)說(shuō),最希望的就是一次創(chuàng)建或配置,可以在任意地方正常運(yùn)行。
使用 Docker 可以通過(guò)定制應(yīng)用鏡像來(lái)實(shí)現(xiàn)持續(xù)集成、持續(xù)交付、部署。開(kāi)發(fā)人員可以通過(guò) Dockerfile 來(lái)進(jìn)行鏡像構(gòu)建,并結(jié)合 持續(xù)集成(Continuous Integration) 系統(tǒng)進(jìn)行集成測(cè)試,而運(yùn)維人員則可以直接在生產(chǎn)環(huán)境中快速部署該鏡像,甚至結(jié)合 持續(xù)部署(Continuous Delivery/Deployment) 系統(tǒng)進(jìn)行自動(dòng)部署。
Docker 確保了執(zhí)行環(huán)境的一致性,使得應(yīng)用的遷移更加容易
Docker 使用的分層存儲(chǔ)以及鏡像的技術(shù),使得應(yīng)用重復(fù)部分的復(fù)用更為容易,也使得應(yīng)用的維護(hù)更新更加簡(jiǎn)單,基于基礎(chǔ)鏡像進(jìn)一步擴(kuò)展鏡像也變得非常簡(jiǎn)單。社區(qū)健壯,一堆開(kāi)源項(xiàng)目團(tuán)隊(duì)維護(hù)一批高質(zhì)量的官方景象。
特性 | 容器 | 虛擬機(jī) |
---|---|---|
啟動(dòng) | 秒級(jí) | 分鐘級(jí) |
硬盤(pán)使用 | MB | GB |
性能 | 接近原生 | 較弱 |
系統(tǒng)支持量 | 單機(jī)支持上千個(gè)容器 | 一般幾十個(gè) |
Docker 包括三個(gè)基本概念
鏡像(Image)
容器(Container)
容器是鏡像運(yùn)行時(shí)的實(shí)體。容器可以被創(chuàng)建、啟動(dòng)、停止、刪除、暫停等。
容器的實(shí)質(zhì)是進(jìn)程,但與直接在宿主執(zhí)行的進(jìn)程不同,容器進(jìn)程運(yùn)行于屬于自己的獨(dú)立的 命名空間。因此容器可以擁有自己的 root 文件系統(tǒng)、自己的網(wǎng)絡(luò)配置、自己的進(jìn)程空間,甚至自己的用戶 ID 空間。容器內(nèi)的進(jìn)程是運(yùn)行在一個(gè)隔離的環(huán)境里,使用起來(lái),就好像是在一個(gè)獨(dú)立于宿主的系統(tǒng)下操作一樣。
倉(cāng)庫(kù)(Repository)
一個(gè) Docker Registry 中可以包含多個(gè)倉(cāng)庫(kù)(Repository);每個(gè)倉(cāng)庫(kù)可以包含多個(gè)標(biāo)簽(Tag);每個(gè)標(biāo)簽對(duì)應(yīng)一個(gè)鏡像。
三個(gè)概念包括Docker的生命周期
安裝(CentOS)卸載舊版本
$ sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-selinux docker-engine-selinux docker-engine
使用 yum 安裝
$sudo yum install -y yum-utils device-mapper-persistent-data lvm2
國(guó)內(nèi)網(wǎng)絡(luò)問(wèn)題,強(qiáng)烈建議使用國(guó)內(nèi)源
$ sudo yum-config-manager --add-repo https://mirrors.ustc.edu.cn/docker-ce/linux/centos/docker-ce.repo # 官方源 $ sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
安裝 Docker CE
sudo yum makecache fast sudo yum install docker-ce
使用腳本自動(dòng)安裝
$ curl -fsSL get.docker.com -o get-docker.sh $ sudo sh get-docker.sh --mirror Aliyun
啟動(dòng) Docker CE
$ sudo systemctl enable docker $ sudo systemctl start docker
建立 docker 用戶組
建立 docker 組:
sudo groupadd docker
將當(dāng)前用戶加入 docker 組:
sudo usermod -aG docker $USER
測(cè)試Docker是否安裝正確
$ docker run hello-world Unable to find image "hello-world:latest" locally latest: Pulling from library/hello-world d1725b59e92d: Pull complete Digest: sha256:0add3ace90ecb4adbf7777e9aacf18357296e799f81cabc9fde470971e499788 Status: Downloaded newer image for hello-world:latest 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/
鏡像加速器
Ubuntu 14.04、Debian 7 Wheezy 配置
DOCKER_OPTS="--registry-mirror=https://registry.docker-cn.com"
重新啟動(dòng)服務(wù)。
$ sudo service docker restart
Ubuntu 16.04+、Debian 8+、CentOS 7 在 /etc/docker/daemon.json 中寫(xiě)入如下內(nèi)容(如果文件不存在請(qǐng)新建該文件)
{ "registry-mirrors": [ "https://registry.docker-cn.com" ] }
重新啟動(dòng)服務(wù)。
$ sudo systemctl daemon-reload $ sudo systemctl restart docker
添加內(nèi)核參數(shù)
CentOS 使用 Docker CE 看到下面的這些警告信息:
WARNING: bridge-nf-call-iptables is disabled WARNING: bridge-nf-call-ip6tables is disabled
解決方法:內(nèi)核配置參數(shù)以啟用這些功能。
sudo tee -a /etc/sysctl.conf <<-EOF net.bridge.bridge-nf-call-ip6tables = 1 net.bridge.bridge-nf-call-iptables = 1 EOF
然后重新加載sysctl.conf
sudo sysctl -p
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/110204.html
摘要:初識(shí)是什么是一個(gè)開(kāi)源的應(yīng)用容器引擎,基于語(yǔ)言并遵從協(xié)議開(kāi)源。容器是完全使用沙箱機(jī)制,相互之間不會(huì)有任何接口更重要的是容器性能開(kāi)銷(xiāo)極低。命令為,如下由此可知,我們新打包的鏡像的為。登錄賬號(hào)再輸入自己的賬號(hào)密碼即可。 初識(shí)Docker Docker是什么? ??Docker 是一個(gè)開(kāi)源的應(yīng)用容器引擎,基于?Go 語(yǔ)言并遵從Apache2.0協(xié)議開(kāi)源。??Docker 可以讓開(kāi)發(fā)者打包他們的...
摘要:至于很具體的操作指令,比如怎么安裝,怎么和來(lái)跑一個(gè)簡(jiǎn)單的,請(qǐng)參考官方文檔部分的或者也可參考文末的一些參考資料參考資料官方文檔入門(mén)教程系列簡(jiǎn)明教程使用演示中文系列資源從入門(mén)到實(shí)踐作者更多文章個(gè)人網(wǎng)站 docker入門(mén)概覽 標(biāo)簽 : docker [TOC] 本文對(duì)docker進(jìn)行大致介紹,包括概述,安裝,簡(jiǎn)單使用,架構(gòu),基本原理等方面 寫(xiě)在前面 本文是自己學(xué)習(xí)docker的一個(gè)記錄...
摘要:入門(mén)系列之一在一個(gè)容器里運(yùn)行指定的應(yīng)用入門(mén)系列之二使用制作包含指定應(yīng)用的鏡像本文我們會(huì)介紹如何將這個(gè)本地制作好的鏡像發(fā)布到,讓全世界其他愛(ài)好者能夠使用您的鏡像。首先您得在上注冊(cè)一個(gè)帳號(hào)然后創(chuàng)建一個(gè)新的,用于存放鏡像。 這個(gè)系列的前兩篇文章,我們已經(jīng)把我們的應(yīng)用成功地在Docker里通過(guò)nginx運(yùn)行了起來(lái),并且用dockerfile里制作好了一個(gè)鏡像。 Docker入門(mén)系列之一:在一...
摘要:從命名上就知道這是一篇簡(jiǎn)單粗暴的新手入門(mén)教程,為什么要簡(jiǎn)單粗暴我認(rèn)為有自學(xué)能力的人幫他入門(mén)就夠了,不能自學(xué)的一時(shí)半會(huì)兒也教不會(huì),不符合入門(mén)教程的初衷,建議出門(mén)左拐去找找視頻教程本章目標(biāo)大概了解是個(gè)什么玩意知道常用的指令參數(shù)能啟動(dòng)一個(gè)容器不然 從命名上就知道這是一篇簡(jiǎn)單粗暴的docker新手入門(mén)教程, 為什么要簡(jiǎn)單粗暴? 我認(rèn)為有自學(xué)能力的人幫他入門(mén)就夠了, 不能自學(xué)的一時(shí)半會(huì)兒也教不會(huì)...
摘要:前言其實(shí)接觸也有一段時(shí)間了,但是一直沒(méi)有做下總結(jié),現(xiàn)在網(wǎng)上關(guān)于的介紹也有很多了,本著好記性不如爛筆頭的原則,還是自己再記錄一波吧。實(shí)現(xiàn)目標(biāo)安裝探索基本概念及用法環(huán)境準(zhǔn)備位,內(nèi)核版本不低于安裝以下命令均需在權(quán)限下執(zhí)行。 showImg(https://segmentfault.com/img/remote/1460000017894270?w=538&h=344); 前言 其實(shí)接觸 do...
摘要:原文地址零基礎(chǔ)入門(mén)指南一介紹簡(jiǎn)介源代碼托管在上,公司開(kāi)源的一個(gè)基于技術(shù)之上構(gòu)建的容器引擎,基于語(yǔ)言并遵從協(xié)議開(kāi)源。通過(guò)等實(shí)現(xiàn)內(nèi)核虛擬化技術(shù),并提供容器的資源隔離與安全保障等。 原文地址:Docker零基礎(chǔ)入門(mén)指南(一):Docker介紹 Docker簡(jiǎn)介 Docker源代碼托管在 GitHub上,Docker 公司開(kāi)源的一個(gè)基于LXC技術(shù)之上構(gòu)建的Container容器引擎,基于Go...
閱讀 1082·2021-09-29 09:35
閱讀 4663·2021-09-22 15:24
閱讀 1460·2021-07-25 21:37
閱讀 2191·2019-08-30 14:17
閱讀 975·2019-08-30 13:56
閱讀 2420·2019-08-29 17:07
閱讀 1279·2019-08-29 12:44
閱讀 2713·2019-08-26 18:26