python中docker系統(tǒng)管理的示例分析

這篇文章給大家分享的是有關(guān)python中docker系統(tǒng)管理的示例分析的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

創(chuàng)新互聯(lián)建站主要為客戶提供服務(wù)項(xiàng)目涵蓋了網(wǎng)頁視覺設(shè)計、VI標(biāo)志設(shè)計、全網(wǎng)整合營銷推廣、網(wǎng)站程序開發(fā)、HTML5響應(yīng)式網(wǎng)站建設(shè)公司、成都做手機(jī)網(wǎng)站、微商城、網(wǎng)站托管及網(wǎng)站維護(hù)、WEB系統(tǒng)開發(fā)、域名注冊、國內(nèi)外服務(wù)器租用、視頻、平面設(shè)計、SEO優(yōu)化排名。設(shè)計、前端、后端三個建站步驟的完善服務(wù)體系。一人跟蹤測試的建站服務(wù)標(biāo)準(zhǔn)。已經(jīng)為成都高空作業(yè)車租賃行業(yè)客戶提供了網(wǎng)站營銷服務(wù)。

(一)什么是docker hub
  • Docker Hub是一個倉庫
    >https://hub.docker.com/
    >如果頁面打不開,那就需要×××。

python中docker系統(tǒng)管理的示例分析

倉庫是集中存放鏡像文件的場所。
倉庫為公開倉庫(Public)和私有倉庫(Private)兩種形式。
最大的公開倉庫就是https://hub.docker.com/
用戶也可以在本地網(wǎng)絡(luò)搭建私有倉庫。
用戶可以選擇性的將鏡像上傳到私有和公有倉庫中。其他用戶使用鏡像只需要pull命令,上傳是通過push命令

  • 注意
    >下載不需要賬號,上傳是需要進(jìn)行賬號注冊的

vagrant 安裝docker

源碼:https://github.com/limingios/dockerpython.git (「docker實(shí)戰(zhàn)篇」python的docker-docker系統(tǒng)管理-基礎(chǔ)概念(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

python中docker系統(tǒng)管理的示例分析

  • 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

python中docker系統(tǒng)管理的示例分析

mac 安裝vgarant :https://idig8.com/2018/07/29/docker-zhongji-07/
window安裝vgaranthttps://idig8.com/2018/07/29/docker-zhongji-08/

系統(tǒng)類型IP地址節(jié)點(diǎn)角色CPUMemoryHostname
Centos7192.168.70.100gitlab22Gdocker-vagrant-centos

(1). 虛擬機(jī)vagrant講述安裝的步驟

vagrant up

(2).機(jī)器window/mac開通遠(yuǎn)程登錄root用戶下

su -
# 密碼
vagrant
#設(shè)置 PasswordAuthentication yes
vi /etc/ssh/sshd_config
sudo systemctl restart sshd

python中docker系統(tǒng)管理的示例分析

python中docker系統(tǒng)管理的示例分析

  • docker 登錄
    >通過網(wǎng)頁的方式登錄

python中docker系統(tǒng)管理的示例分析

虛擬機(jī)linux登錄docker官網(wǎng),輸入的是用戶名和密碼。不是在官網(wǎng)登錄的郵箱

docker login

python中docker系統(tǒng)管理的示例分析

  • 搜索鏡像
    >官網(wǎng)方式

python中docker系統(tǒng)管理的示例分析

linxu命令的方式

python中docker系統(tǒng)管理的示例分析

  • 下載鏡像
    >1.先配置加速器

curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.io
sudo systemctl restart docker

python中docker系統(tǒng)管理的示例分析

2.下載centos鏡像

#默認(rèn)下載最后一個版本
docker pull centos
docker images

python中docker系統(tǒng)管理的示例分析

python中docker系統(tǒng)管理的示例分析

3.才75MB的centos鏡像,這是為啥?。科綍r下載centos的ios都幾個G,怎么可能如此的小。如果老鐵是初學(xué)者肯定會問這類的問題。

  • 解釋下為什么鏡像如此小
    >linux操作系統(tǒng)是由內(nèi)核空間和用戶空間組成的,內(nèi)核空間就是kernel,linux剛啟動的時候會加載這個bootfs文件系統(tǒng),之后這個bootfs會卸載掉,用戶文件系統(tǒng)就是rootfs,包含dev,bin等目錄,對于剛下載的centos這個鏡像來說,底層會使用docker的內(nèi)核,自己只需要提供用戶空間就可以了 ,對于精簡的系統(tǒng)用戶空間可以很小,只需要包括最基本的命令和程序庫就可以了,我們平時安裝的centos除了最基本的還會安裝很多的軟件,服務(wù),圖形桌面等等,需要好幾個g也不足為奇了。

python中docker系統(tǒng)管理的示例分析

  • 什么是鏡像
    Docker鏡像是一個特殊的文件系統(tǒng),除了提供容器運(yùn)行時所需的程序,庫,資源,配置等文件外,還包含了一些為運(yùn)行時準(zhǔn)備的一些配置參數(shù)(如匿名卷,環(huán)境變量,用戶等)。鏡像不包含任何動態(tài)數(shù)據(jù),其內(nèi)容在構(gòu)建之后也不會被改變。docker鏡像只需要一個基礎(chǔ)的base Image,按照需求不斷的疊加就可以了。共享一份基礎(chǔ)的。一個基礎(chǔ)鏡像出現(xiàn)多個容器,如果容器內(nèi)的etc文件被修改,但是基礎(chǔ)鏡像的是不會被改變的。修改只會在單個的容器內(nèi)。 例如要安裝一個tomcat鏡像,新的鏡像是在基礎(chǔ)的linux下一層一層疊加上來的。

  • Docker的copy-on-write特性

    所有的修改,添加,刪除,只會發(fā)生在容器層中,鏡像層都是只讀的。

python中docker系統(tǒng)管理的示例分析

  • 什么是容器
    >容器是一種輕量級,可移植,自包含的軟件打包技術(shù),是一種應(yīng)用程序,可以在幾乎任何地方以相同的方式運(yùn)行。

開發(fā)人員在自己筆記本創(chuàng)建并測試好的容器,無需任何修改就能夠在生產(chǎn)系統(tǒng)的虛擬機(jī),物理放服務(wù)器或公有云主機(jī)上運(yùn)行。

為什么需要容器,以及為什么被稱為容器

python中docker系統(tǒng)管理的示例分析

集裝箱,無論你是什么貨物,鋼琴,香蕉,保時捷,他都會放置在各自的集裝箱里面了,它都會密封,只有到達(dá)目的地才會被打開,標(biāo)準(zhǔn)的集裝箱會被高效的裝卸重疊,長途運(yùn)輸。docker就將集裝箱的思想運(yùn)用在了打包軟件上面。它為代碼提供了容器的標(biāo)準(zhǔn)化的運(yùn)輸系統(tǒng),docker會將任何應(yīng)用打包成為一個輕依賴,可移植,自包含的容器,這個容器幾乎可以運(yùn)行在任何的操作系統(tǒng)上,其實(shí)集裝箱和容器對應(yīng)的單詞都叫container,docker的圖標(biāo)就是一個鯨魚頂著多個集裝箱。

  • docker容器的優(yōu)勢

    容器的優(yōu)勢,對于開發(fā)人員來說,創(chuàng)建一次,可以在任何地方運(yùn)行,對于運(yùn)維人員來說,配置一次,可以運(yùn)行所有應(yīng)用。

  • docker服務(wù)

    docker最核心的后臺進(jìn)程,它負(fù)責(zé)響應(yīng)來自Docker client的請求,然后將這些請求翻譯成系統(tǒng)調(diào)用完成容器管理操作。該進(jìn)程會在后臺啟動一個API Server,負(fù)責(zé)接收由Docker client發(fā)送的請求;接收到的請求將通過Docker服務(wù)內(nèi)部的一個路由分發(fā)調(diào)度,再由具體的函數(shù)來執(zhí)行請求。

感謝各位的閱讀!關(guān)于“python中docker系統(tǒng)管理的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

當(dāng)前文章:python中docker系統(tǒng)管理的示例分析
本文來源:http://muchs.cn/article46/ghjieg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站策劃動態(tài)網(wǎng)站、網(wǎng)站維護(hù)、標(biāo)簽優(yōu)化全網(wǎng)營銷推廣、面包屑導(dǎo)航

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站制作