摘要:并且各種各樣的貨物被集裝箱標(biāo)準(zhǔn)化了,集裝箱和集裝箱之間不會(huì)互相影響。容器可以被創(chuàng)建啟動(dòng)停止刪除暫停等。默認(rèn)情況下,為了排障需求,退出的容器并不會(huì)立即刪除,除非手動(dòng)。這是指用鏡像為基礎(chǔ)來啟動(dòng)容器。
簡(jiǎn)明docker教程
一、什么是docker
二、docker與虛擬機(jī)比較
三、安裝docker
四、基本概念
1、鏡像
2、容器
3、數(shù)據(jù)卷
4、掛載
五、參考資料
有收獲的話請(qǐng)加顆小星星,沒有收獲的話可以 反對(duì) 沒有幫助 舉報(bào)三連
代碼倉(cāng)庫(kù)
簡(jiǎn)明docker教程
一、什么是dockerDocker是一個(gè)開放源代碼軟件項(xiàng)目,讓應(yīng)用程序布署在軟件貨柜下的工作可以自動(dòng)化進(jìn)行,借此在Linux操作系統(tǒng)上,提供一個(gè)額外的軟件抽象層,以及操作系統(tǒng)層虛擬化的自動(dòng)管理機(jī)制。
Docker利用Linux核心中的資源分離機(jī)制,例如cgroups,以及Linux核心名字空間(namespaces),來創(chuàng)建獨(dú)立的容器(containers)。這可以在單一Linux實(shí)體下運(yùn)作,避免啟動(dòng)一個(gè)虛擬機(jī)造成的額外負(fù)擔(dān)。Linux核心對(duì)名字空間的支持完全隔離了工作環(huán)境中應(yīng)用程序的視野,包括進(jìn)程樹、網(wǎng)絡(luò)、用戶ID與掛載文件系統(tǒng),而核心的cgroup提供資源隔離,包括CPU、存儲(chǔ)器、block I/O與網(wǎng)絡(luò)。從0.9版本起,Dockers在使用抽象虛擬是經(jīng)由libvirt的LXC與systemd - nspawn提供界面的基礎(chǔ)上,開始包括libcontainer庫(kù)做為以自己的方式開始直接使用由Linux核心提供的虛擬化的設(shè)施,
上面都是廢話,簡(jiǎn)言之Docker的思想來自于集裝箱,集裝箱解決了什么問題?在一艘大船上,可以把貨物規(guī)整的擺放起來。并且各種各樣的貨物被集裝箱標(biāo)準(zhǔn)化了,集裝箱和集裝箱之間不會(huì)互相影響。那么我就不需要專門運(yùn)送水果的船和專門運(yùn)送化學(xué)品的船了。只要這些貨物在集裝箱里封裝的好好的,那我就可以用一艘大船把他們都運(yùn)走。
二、docker與虛擬機(jī)比較特性 | 容器 | 虛擬機(jī) |
---|---|---|
啟動(dòng) | 秒級(jí) | 分鐘級(jí) |
硬盤使用 | 一般為 MB | 一般為 GB |
性能 | 接近原生 | 弱于 |
系統(tǒng)支持量 | 單機(jī)支持上千個(gè)容器 | 一般幾十個(gè) |
我自己用的是Docker for Mac
其它系統(tǒng)可以參考 http://docker_practice.gitee....
四、基本概念鏡像(Image)
Docker 鏡像是一個(gè)特殊的文件系統(tǒng),除了提供容器運(yùn)行時(shí)所需的程序、庫(kù)、資源、配置等文件外,還包含了一些為運(yùn)行時(shí)準(zhǔn)備的一些配置參數(shù)(如匿名卷、環(huán)境變量、用戶等)。鏡像不包含任何動(dòng)態(tài)數(shù)據(jù),其內(nèi)容在構(gòu)建之后也不會(huì)被改變。
容器(Container)
鏡像(Image)和容器(Container)的關(guān)系,就像是面向?qū)ο蟪绦蛟O(shè)計(jì)中的 類 和 實(shí)例 一樣,鏡像是靜態(tài)的定義,容器是鏡像運(yùn)行時(shí)的實(shí)體。容器可以被創(chuàng)建、啟動(dòng)、停止、刪除、暫停等。
倉(cāng)庫(kù)(Repository)
鏡像構(gòu)建完成后,可以很容易的在當(dāng)前宿主機(jī)上運(yùn)行,但是,如果需要在其它服務(wù)器上使用這個(gè)鏡像,我們就需要一個(gè)集中的存儲(chǔ)、分發(fā)鏡像的服務(wù),Docker Registry 就是這樣的服務(wù)。
一個(gè) Docker Registry 中可以包含多個(gè)倉(cāng)庫(kù)(Repository);每個(gè)倉(cāng)庫(kù)可以包含多個(gè)標(biāo)簽(Tag);每個(gè)標(biāo)簽對(duì)應(yīng)一個(gè)鏡像。
通常,一個(gè)倉(cāng)庫(kù)會(huì)包含同一個(gè)軟件不同版本的鏡像,而標(biāo)簽就常用于對(duì)應(yīng)該軟件的各個(gè)版本。我們可以通過 <倉(cāng)庫(kù)名>:<標(biāo)簽> 的格式來指定具體是這個(gè)軟件哪個(gè)版本的鏡像。如果不給出標(biāo)簽,將以 latest 作為默認(rèn)標(biāo)簽。
1、鏡像# 獲取鏡像 docker pull ubuntu:14.04 # 以u(píng)buntu:14.04鏡像為基礎(chǔ)啟動(dòng)并運(yùn)行一個(gè)容器 docker run -it --rm ubuntu:14.04 bash -it:這是兩個(gè)參數(shù),一個(gè)是 -i:交互式操作,一個(gè)是 -t 終端。我們這里打算進(jìn)入 bash 執(zhí)行一些命令并查看返回結(jié)果,因此我們需要交互式終端。 --rm:這個(gè)參數(shù)是說容器退出后隨之將其刪除。默認(rèn)情況下,為了排障需求,退出的容器并不會(huì)立即刪除,除非手動(dòng) docker rm。我們這里只是隨便執(zhí)行個(gè)命令,看看結(jié)果,不需要排障和保留結(jié)果,因此使用 --rm 可以避免浪費(fèi)空間。 ubuntu:14.04:這是指用 ubuntu:14.04 鏡像為基礎(chǔ)來啟動(dòng)容器。 bash:放在鏡像名后的是命令,這里我們希望有個(gè)交互式 Shell,因此用的是 bash。 # 列出鏡像 docker image ls docker images # 鏡像占用 docker system df # 清楚懸掛鏡像 docker image prune # 刪除鏡像 docker image rm docker rmi2、容器
# 啟動(dòng)以守護(hù)模式創(chuàng)建的名字為demo-u的容器,并以交互模式進(jìn)入容器 docker run --name demo-u -t -i -d ubuntu:14.04 bash # 運(yùn)行后就可以通過ID或名字進(jìn)入容器,并輸出hello world docker exec -it demo-u /bin/sh -c "echo hello world" # 查看運(yùn)行中的容器 docker container ls docker ps # 所有容器 docker container ls -a docker ps -a # 查看容器日志 docker container logs demo-u docker logs demo-u # 終止容器 docker container stop demo-u docker stop demo-u # 啟動(dòng)容器 docker container start demo-u docker start demo-u # 重啟容器 docker container restart demo-u docker restart demo-u # 進(jìn)入容器,退出后容器也停止 docker attach demo-u # 導(dǎo)出容器 docker export # 導(dǎo)入容器 docker import # 刪除容器 docker container rm docker rm # 清除所有容器 docker container prune3、數(shù)據(jù)卷
# 創(chuàng)建數(shù)據(jù)卷 docker volume create # 列出數(shù)據(jù)卷 docker volume ls # 刪除數(shù)據(jù)卷 docker volume rm # 清除沒用的數(shù)據(jù)卷 docker volume prune4、掛載
也就是目錄共享,兩種方式:
-v
--mount 推薦
# 使用php本地服務(wù)器查看php環(huán)境,加載主機(jī)的 ~/web 目錄到容器的 /var/www/web目錄 mkdir -p ~/web && cd ~/web && echo " index.php docker run -d --name web -p 8080:8080 --mount type=bind,source=`pwd`,target=/var/www/web php:7.2-fpm /bin/sh -c "cd /var/www/web && php -S 0.0.0.0:8080" 或者 docker run -d --name web -p 8080:8080 -v `pwd`:/var/www/web php:7.2-fpm /bin/sh -c "cd /var/www/web && php -S 0.0.0.0:8080" 打開瀏覽器 0.0.0.0:8080 # 查看數(shù)據(jù)卷 docker volume inspect web五、參考資料
Docker — 從入門到實(shí)踐
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/28054.html
摘要:這個(gè)速查表主要是分享互聯(lián)網(wǎng)上一些比較常用的工具和技術(shù)常用內(nèi)容,如編輯器的快捷鍵的命令行的選擇器的屬性等,這個(gè)列表簡(jiǎn)單收集了常用的工具,可以收藏用于平時(shí)的備忘錄,需要用到的時(shí)候可以及時(shí)查閱。 這個(gè)速查表主要是分享互聯(lián)網(wǎng)上一些比較常用的工具和技術(shù)常用內(nèi)容,如編輯器的快捷鍵、git的命令行、jQuery的API選擇器、CSS的flexbox屬性等,這個(gè)列表簡(jiǎn)單收集了常用的工具,可以收藏用于平...
摘要:這個(gè)速查表主要是分享互聯(lián)網(wǎng)上一些比較常用的工具和技術(shù)常用內(nèi)容,如編輯器的快捷鍵的命令行的選擇器的屬性等,這個(gè)列表簡(jiǎn)單收集了常用的工具,可以收藏用于平時(shí)的備忘錄,需要用到的時(shí)候可以及時(shí)查閱。 這個(gè)速查表主要是分享互聯(lián)網(wǎng)上一些比較常用的工具和技術(shù)常用內(nèi)容,如編輯器的快捷鍵、git的命令行、jQuery的API選擇器、CSS的flexbox屬性等,這個(gè)列表簡(jiǎn)單收集了常用的工具,可以收藏用于平...
摘要:這個(gè)速查表主要是分享互聯(lián)網(wǎng)上一些比較常用的工具和技術(shù)常用內(nèi)容,如編輯器的快捷鍵的命令行的選擇器的屬性等,這個(gè)列表簡(jiǎn)單收集了常用的工具,可以收藏用于平時(shí)的備忘錄,需要用到的時(shí)候可以及時(shí)查閱。 這個(gè)速查表主要是分享互聯(lián)網(wǎng)上一些比較常用的工具和技術(shù)常用內(nèi)容,如編輯器的快捷鍵、git的命令行、jQuery的API選擇器、CSS的flexbox屬性等,這個(gè)列表簡(jiǎn)單收集了常用的工具,可以收藏用于平...
摘要:至于很具體的操作指令,比如怎么安裝,怎么和來跑一個(gè)簡(jiǎn)單的,請(qǐng)參考官方文檔部分的或者也可參考文末的一些參考資料參考資料官方文檔入門教程系列簡(jiǎn)明教程使用演示中文系列資源從入門到實(shí)踐作者更多文章個(gè)人網(wǎng)站 docker入門概覽 標(biāo)簽 : docker [TOC] 本文對(duì)docker進(jìn)行大致介紹,包括概述,安裝,簡(jiǎn)單使用,架構(gòu),基本原理等方面 寫在前面 本文是自己學(xué)習(xí)docker的一個(gè)記錄...
摘要:基本入門前端掘金作者本文屬于翻譯文章,原文鏈接為。如果如何把應(yīng)用放在容器中運(yùn)行掘金本文適合零基礎(chǔ),且希望使用運(yùn)行應(yīng)用的人士。后端掘金使用構(gòu)建網(wǎng)站。 nginx 基本入門 - 前端 - 掘金作者:villainthr 本文屬于翻譯文章,原文鏈接為 nginx Beginner’s Guide。是至今為止見過最好的 nginx 入門文章。額。。。沒有之一。 這篇教程簡(jiǎn)單介紹了 nginx ...
閱讀 2503·2021-11-15 18:14
閱讀 1725·2021-10-14 09:42
閱讀 3769·2021-10-11 10:58
閱讀 3965·2021-10-09 09:44
閱讀 2427·2021-09-26 09:55
閱讀 2451·2021-09-24 10:38
閱讀 2043·2021-09-04 16:48
閱讀 3280·2021-09-02 15:21