溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

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

發(fā)布時(shí)間:2021-11-24 11:24:53 來(lái)源:億速云 閱讀:205 作者:小新 欄目:云計(jì)算

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

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

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

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

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

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)頁(yè)的方式登錄

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)下載最后一個(gè)版本
docker pull centos
docker images

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

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

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

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

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

  • 什么是鏡像
    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ì)被改變。docker鏡像只需要一個(gè)基礎(chǔ)的base Image,按照需求不斷的疊加就可以了。共享一份基礎(chǔ)的。一個(gè)基礎(chǔ)鏡像出現(xiàn)多個(gè)容器,如果容器內(nèi)的etc文件被修改,但是基礎(chǔ)鏡像的是不會(huì)被改變的。修改只會(huì)在單個(gè)的容器內(nèi)。 例如要安裝一個(gè)tomcat鏡像,新的鏡像是在基礎(chǔ)的linux下一層一層疊加上來(lái)的。


  • Docker的copy-on-write特性

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

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

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

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

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

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

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

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

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

  • docker服務(wù)

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

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

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI