首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 更多程式設計知識

Python 與 IPython 操作 Docker 實戰:docker-py 基礎與容器管理

     編輯:更多程式設計知識

Docker 是雲原生時代的核心技術。透過 docker-py 程式庫,我們能在 Python 腳本或 IPython 互動環境中建立、管理容器。本文以 Ubuntu 14.04 為例,示範安裝流程與基本操作。

環境準備

$ pip install docker-py
$ sudo apt-get install ipython docker.io
$ alias docker='docker.io'  # Ubuntu 14.04 套件名為 docker.io
$ docker pull busybox       # 取得輕量級測試映像

IPython 互動探索

$ ipython
In [1]: import docker
In [2]: c = docker.Client(base_url='unix://var/run/docker.sock', version='1.9', timeout=10)

輸入 c. 按 Tab 可列出所有方法;c.images? 顯示文件字串。

核心操作範例

列出映像

In [6]: c.images(name="busybox")
Out[6]: [{u'Id': u'71e18d715071...', u'RepoTags': [u'busybox:latest'], ...}, ...]

建立並啟動容器


In [8]: container = c.create_container(image="busybox", command="env")
Out[8]: {u'Id': u'584459a09e6d...', u'Warnings': None}

In [9]: c.start(container=container['Id'])

In [11]: c.logs(container=container['Id'])
Out[11]: 'HOME=/\nPATH=/usr/local/sbin:...\nHOSTNAME=584459a09e6d\n'

對應 CLI:docker run busybox env。

簡化流程:建立、啟動、取得日誌


In [17]: busybox = c.create_container(image="busybox", command="echo hi")
In [19]: c.start(busybox.get("Id"))
In [20]: c.logs(busybox.get("Id"))
Out[20]: 'hi\n'

提示

  • docker-py 無 run 一鍵指令,需先 create_container 再 start。
  • 推薦使用 busybox 或 debian:jessie(約 120 MB)作為基底映像。

總結

結合 IPython 的自動完成與文件檢視,配合 docker-py 豐富的 API,可快速原型開發容器編排、CI/CD 整合等自動化流程。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved