您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關python中docker系統管理的示例分析的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
Docker Hub是一個倉庫
>https://hub.docker.com/
>如果頁面打不開,那就需要×××。
倉庫是集中存放鏡像文件的場所。
倉庫為公開倉庫(Public)和私有倉庫(Private)兩種形式。
最大的公開倉庫就是https://hub.docker.com/
用戶也可以在本地網絡搭建私有倉庫。
用戶可以選擇性的將鏡像上傳到私有和公有倉庫中。其他用戶使用鏡像只需要pull命令,上傳是通過push命令
注意
>下載不需要賬號,上傳是需要進行賬號注冊的
源碼:https://github.com/limingios/dockerpython.git (「docker實戰篇」python的docker-docker系統管理-基礎概念(27))
vagrant的使用參見
mac 安裝vgarant :https://idig8.com/2018/07/29/docker-zhongji-07/
window安裝vgarant:https://idig8.com/2018/07/29/docker-zhongji-08/
通過vagrant 安裝centos7
Vagrantfile
# -*- mode: ruby -*- # vi: set ft=ruby : Vagrant.require_version ">= 1.6.0" boxes = [ { :name => "docker-vagrant-centos", :mem => "2048", :cpu => "2" } ] Vagrant.configure(2) do |config| config.vm.box = "centos/7" boxes.each do |opts| config.vm.define opts[:name] do |config| config.vm.hostname = opts[:name] config.vm.provider "vmware_fusion" do |v| v.vmx["memsize"] = opts[:mem] v.vmx["numvcpus"] = opts[:cpu] end config.vm.provider "virtualbox" do |v| v.customize ["modifyvm", :id, "--memory", opts[:mem]] v.customize ["modifyvm", :id, "--cpus", opts[:cpu]] end config.vm.network :private_network, auto_config: true, ip: "192.168.70.100", bridge:"ens1f0", bootproto: "static", gateway: "192.168.70.1" end end config.vm.provision "shell", privileged: true, path: "./setup.sh" end
setup.sh
#/bin/sh sudo yum install -y yum upgrade yum-utils device-mapper-persistent-data wget sudo yum install -y net-tools sudo yum install -y curl policycoreutils openssh-server openssh-clients sudo systemctl enable sshd sudo systemctl start sshd sudo yum install -y postfix sudo systemctl enable postfix sudo systemctl start postfix sudo firewall-cmd --permanent --add-service=http sudo systemctl reload firewalld sudo curl -sSL https://get.docker.com/ | sh sudo curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://b81aace9.m.daocloud.io sudo systemctl restart docker sudo yum -y install epel-release sudo yum -y install python-pip sudo yum clean all sudo pip install docker-compose
vagrant安裝命令
vagrant up
mac 安裝vgarant :https://idig8.com/2018/07/29/docker-zhongji-07/
window安裝vgaranthttps://idig8.com/2018/07/29/docker-zhongji-08/
系統類型 | IP地址 | 節點角色 | CPU | Memory | Hostname |
---|---|---|---|---|---|
Centos7 | 192.168.70.100 | gitlab | 2 | 2G | docker-vagrant-centos |
(1). 虛擬機vagrant講述安裝的步驟
vagrant up
(2).機器window/mac開通遠程登錄root用戶下
su - # 密碼 vagrant #設置 PasswordAuthentication yes vi /etc/ssh/sshd_config sudo systemctl restart sshd
docker 登錄
>通過網頁的方式登錄
虛擬機linux登錄docker官網,輸入的是用戶名和密碼。不是在官網登錄的郵箱
docker login
搜索鏡像
>官網方式
linxu命令的方式
下載鏡像
>1.先配置加速器
curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.io sudo systemctl restart docker
2.下載centos鏡像
#默認下載最后一個版本 docker pull centos docker images
3.才75MB的centos鏡像,這是為啥啊?平時下載centos的ios都幾個G,怎么可能如此的小。如果老鐵是初學者肯定會問這類的問題。
解釋下為什么鏡像如此小
>linux操作系統是由內核空間和用戶空間組成的,內核空間就是kernel,linux剛啟動的時候會加載這個bootfs文件系統,之后這個bootfs會卸載掉,用戶文件系統就是rootfs,包含dev,bin等目錄,對于剛下載的centos這個鏡像來說,底層會使用docker的內核,自己只需要提供用戶空間就可以了 ,對于精簡的系統用戶空間可以很小,只需要包括最基本的命令和程序庫就可以了,我們平時安裝的centos除了最基本的還會安裝很多的軟件,服務,圖形桌面等等,需要好幾個g也不足為奇了。
什么是鏡像
Docker鏡像是一個特殊的文件系統,除了提供容器運行時所需的程序,庫,資源,配置等文件外,還包含了一些為運行時準備的一些配置參數(如匿名卷,環境變量,用戶等)。鏡像不包含任何動態數據,其內容在構建之后也不會被改變。docker鏡像只需要一個基礎的base Image,按照需求不斷的疊加就可以了。共享一份基礎的。一個基礎鏡像出現多個容器,如果容器內的etc文件被修改,但是基礎鏡像的是不會被改變的。修改只會在單個的容器內。 例如要安裝一個tomcat鏡像,新的鏡像是在基礎的linux下一層一層疊加上來的。
Docker的copy-on-write特性
所有的修改,添加,刪除,只會發生在容器層中,鏡像層都是只讀的。
什么是容器
>容器是一種輕量級,可移植,自包含的軟件打包技術,是一種應用程序,可以在幾乎任何地方以相同的方式運行。
開發人員在自己筆記本創建并測試好的容器,無需任何修改就能夠在生產系統的虛擬機,物理放服務器或公有云主機上運行。
為什么需要容器,以及為什么被稱為容器
集裝箱,無論你是什么貨物,鋼琴,香蕉,保時捷,他都會放置在各自的集裝箱里面了,它都會密封,只有到達目的地才會被打開,標準的集裝箱會被高效的裝卸重疊,長途運輸。docker就將集裝箱的思想運用在了打包軟件上面。它為代碼提供了容器的標準化的運輸系統,docker會將任何應用打包成為一個輕依賴,可移植,自包含的容器,這個容器幾乎可以運行在任何的操作系統上,其實集裝箱和容器對應的單詞都叫container,docker的圖標就是一個鯨魚頂著多個集裝箱。
docker容器的優勢
容器的優勢,對于開發人員來說,創建一次,可以在任何地方運行,對于運維人員來說,配置一次,可以運行所有應用。
docker服務
docker最核心的后臺進程,它負責響應來自Docker client的請求,然后將這些請求翻譯成系統調用完成容器管理操作。該進程會在后臺啟動一個API Server,負責接收由Docker client發送的請求;接收到的請求將通過Docker服務內部的一個路由分發調度,再由具體的函數來執行請求。
感謝各位的閱讀!關于“python中docker系統管理的示例分析”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。