天天看點

[Docker]Docker快速上手學習筆記

如何熱更新鏡像(images)?(你可以快速啟動或者銷毀容器。這種時間幾乎是實時的)

如何熱更新遊戲服?

好處在于各個應用之間環境互相獨立,即使某一個容器崩潰也不會影響到其它容器;

每個容器使用端口如何維護?(方法1寫在Dockerfile裡面,不靈活;方法2在run的時候-p指定);

那這樣的話,會存在好多linux使用者,相當于每一個容器就要維護一個實體機(虛拟);

需要一套工具來管理維護鏡像、容器的操作和狀态;

目前主流使用docker都是應用到哪些場景中?

Docker: 開源的容器虛拟化平台;

Docker Hub: Software-as-a-Service平台,用來共享和管理docker容器。

Docker images.(鏡像)

Docker registries.(倉庫)

Docker container.(容器)

docker image(檢視鏡像資訊)

docker build(建立鏡像)

Dockerfile

'#注釋'

FROM 基于哪個鏡像為基礎

MAINTAINER 維護者資訊

RUN 運作指令

ADD 複制本地檔案到鏡像

EXPOSE 設定開放端口

CMD 容器啟動後允許的程式

WORKDIR 切換工作目錄

-t 添加tag

build後面需要接路徑

docker pull(擷取鏡像)

docker push(上傳鏡像)

docker search(搜尋鏡像)

-s N 隻搜尋指定星級以上的鏡像

docker rmi(删除鏡像)

docker tag [id] [new name:tag] (修改tag)

docker save(儲存鏡像)

docker load(加載鏡像)

docker load --input xxx.tar

docker load < xxx.tar

load與import的差別,鏡像是完整的與快照是丢棄曆史記錄和中繼資料資訊的

docker rmi $(docker images -q -f "dangling=true")(清理所有未打過标簽的本地鏡像)

docker run([下載下傳鏡像并]啟動容器)

-t 配置設定一個僞終端

-i 打開标準輸入

-d 背景運作

-v 建立并挂載資料卷(可有多個)

--volumes-from 挂載資料卷(可有多個)

-p 指定映射端口 (ip:port:containerPort/udp|ip::containerPort|port:containerPort)

-P 随機映射端口

--name 自定義容器名字

--rm 終止後立即删除容器

--link : 容器互聯

docker start(啟動已終止容器)

docker stop(終止容器)

nsenter(進入容器)(推薦)

PID=$(docker inspect --format "{{ .State.Pid }}" )

nsenter --target $PID --mount --uts --ipc --net --pid

docker commit(送出容器)

-m --massage="" 送出資訊

-a --author="" 作者資訊

-p --pause=true 送出時暫停容器運作

docker attach(進入容器)

docker ps(檢視正在運作的容器)

-a 檢視已終止

docker logs [container ID or NAMES] 檢視(背景)運作日志

docker export(導出容器為檔案)

docker export > xxx.tar

docker import(檔案快照導入鏡像)

cat xxx.tar | docker import - test/name:v1.0

docker rm(删除容器)

預設不會删除運作中的容器

docker rm $(docker ps -a -q) 清理所有處于終止狀态的容器

-v 同時删除資料卷

<a></a>

如果在執行<code>yum update</code>的時候出現了<code>No module named yum</code>錯誤,可能是存在與yum不對應的python版本引起。可以通過修改yum和yum-updatest的執行腳本(<code>/usr/bin/yum</code>和<code>/usr/bin/yum-updatest</code>)的注釋來指定python版本。譬如:

可以下載下傳bashrc_docker檔案,加載到環境.bashrc中,其可以提供一些友善的指令用于做一些比較複雜的過程。

下載下傳和加載到linux環境中:

官服提供了一個docker-registry鏡像來供私有倉庫的搭建。

本身是虛拟機技術實作的伺服器大多數帶有随時可擴充更新的性質,沒有資源配置設定的需求,沒有必要用到docker;

docker适合在做負載均衡的短連結的web服務上面,應用場景都是以鏡像、容器為操作機關的最佳;

如果有業務可以做到鏡像、容器來維護就可以的,說明這個業務就很合适使用docker。

以上隻是本人剛開始學習的一些了解,當然docker的能力我還遠遠沒了解到,适合的場景肯定還有很多。目前的記錄隻是為了以後查閱和學習鞏固。

本文轉自 Ron Ngai 部落格園部落格,原文連結: http://www.cnblogs.com/rond/p/6020564.html ,如需轉載請自行聯系原作者