學(xué)習(xí)docker
https://yeasy.gitbooks.io/docker_practice/content/
刪除docker
https://www.cnblogs.com/q4486233/p/6482711.html
避免使用sudo docker
http://blog.csdn.net/baidu_36342103/article/details/69357438
傳統(tǒng)虛擬機技術(shù)是虛擬出一套硬件后,在其上運行一個完整操作系統(tǒng),在該系統(tǒng)上再運行所需應(yīng)用進(jìn)程;而容器內(nèi)的應(yīng)用進(jìn)程直接運行于宿主的內(nèi)核,容器內(nèi)沒有自己的內(nèi)核,而且也沒有進(jìn)行硬件虛擬。因此容器要比傳統(tǒng)虛擬機更為輕便。
docker比傳統(tǒng)虛擬化的優(yōu)勢
1、更快速的啟動時間(直接在宿主的內(nèi)核上跑的)
2、有效利用資源(不用虛擬硬件環(huán)境)
3、一致地運行環(huán)境(開發(fā)、測試、調(diào)試)
當(dāng)利用 docker run 來創(chuàng)建容器時,Docker 在后臺運行的標(biāo)準(zhǔn)操作包括:
檢查本地是否存在指定的鏡像,不存在就從公有倉庫下載
利用鏡像創(chuàng)建并啟動一個容器
分配一個文件系統(tǒng),并在只讀的鏡像層外面掛載一層可讀寫層
從宿主主機配置的網(wǎng)橋接口中橋接一個虛擬接口到容器中去
從地址池配置一個 ip 地址給容器
執(zhí)行用戶指定的應(yīng)用程序
執(zhí)行完畢后容器被終止
docker run
-d:就是讓Docker在后臺運行而不是直接把執(zhí)行命令的結(jié)果輸出在當(dāng)前宿主主機下。
-i:指的是交互
-t:好像是偽命令框
--rm:關(guān)閉之后直接刪除
docker container log [container id or names]
用來獲取容器的輸出信息
docker container attach [container id or names]
用來進(jìn)入一個正在運行的容器
docker container restart [container id or names]
用來重啟一個容器
docker export [container id] > [壓縮包名字]
docker container prune
用于清理掉所有處于種植狀態(tài)的容器
docker pull ubuntu:16.04
tihuguanding
docker attach 和 docker? exec
前者如果從stdin中exit的話,容器會停止
docker exec從stdin中exec的話,容器不會停止
docker load 和docker import的區(qū)別
區(qū)別一:
docker load:導(dǎo)入鏡像文件到本地鏡像庫
docker import:從容器快照文件中再導(dǎo)入為鏡像
區(qū)別二:
docker load:鏡像存儲文件保存完整記錄,體積也大。
docker import:保存的只是當(dāng)時的狀態(tài),體積也小。(從容器快照文件導(dǎo)入時可以重新指定標(biāo)簽等元數(shù)據(jù)信息。)
ARG和ENV的區(qū)別
相同點:都是設(shè)置環(huán)境變量
不同點:
ARG 所設(shè)置的構(gòu)建環(huán)境的環(huán)境變量,在將來容器運行時是不會存在這些環(huán)境變量的。
12.15日學(xué)習(xí)筆記
golang模板語法
https://gohugo.io/templates/lookup-order/
1、下載鏡像的網(wǎng)址:https://hub.docker.com/explore/
2、下載鏡像的格式
docker pull [選項] [Docker Registry 地址[:端口號]/]倉庫名[:標(biāo)簽]
具體的選項可以通過 docker pull --help 命令看到,這里我們說一下鏡像名稱的格式。
Docker 鏡像倉庫地址:地址的格式一般是 <域名/IP>[:端口號]。默認(rèn)地址是 Docker Hub。
倉庫名:如之前所說,這里的倉庫名是兩段式名稱,即 <用戶名>/<軟件名>。對于 Docker Hub,如果不給出用戶名,則默認(rèn)為 library,也就是官方鏡像。
3、docker run -it --rm
--rm:表示容器退出之后將其刪除,可以避免浪費空間
4、常用命令
docker image ls
列出鏡像(一個鏡像id對應(yīng)多個tag標(biāo)簽)
docker exec -it [container id] commandName(name)
進(jìn)入到一個正在運行的容器中
5、利用Dockerfile制作鏡像文件
鏡像構(gòu)建時,一定要確保每一層只添加真正需要添加的東西,任何無關(guān)的東西都應(yīng)該清理掉。
--auto-remove
Dockerfile 支持 Shell 類的行尾添加 \ 的命令換行方式
docker build [OPTIONS] PATH | URL | -
制作鏡像
Dockerfile內(nèi)容
https://docs.docker.com/engine/reference/builder/(官方文檔)