Personal tools
You are here: Home Lights on Zope Docker コンテナをexportするpythonスクリプト
« July 2017 »
Su Mo Tu We Th Fr Sa
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31          
Recent entries
Python Anywhere seko 2016-11-19
帯状疱疹 seko 2016-11-18
Chromebook購入 seko 2016-11-03
マカロニさん めざせデータサイエンティスト seko 2016-11-02
脳波計muse 購入 seko 2016-09-04
フェルデンクライスメソッド227回目  seko 2016-08-27
EXCELマクロ タスクが残っていてTypeNameとShell.Applicationを使って起動済みのIEが探せない seko 2016-04-19
pythonでNITE 化学物質総合情報提供システムへアクセス seko 2016-04-19
Raspberry Pi 3で侵入者を発見 seko 2016-04-03
Raspberry Pi 3 OSのインストール seko 2016-04-02
Docker コンテナをexportするpythonスクリプト seko 2016-03-31
Effective Python ―Pythonプログラムを改良する59項目 seko 2016-03-30
確かな力が身につくPython「超」入門 鎌田 正浩 (著) seko 2016-03-29
pythonでバブルソート seko 2016-03-24
Recent trackbacks
『必笑小咄のテクニック』 米原万里 じゅうのblog 2016-04-26
まんが 哲学入門 天竺堂の本棚 2014-02-24
史上最強の哲学入門 東洋の哲人たち 天竺堂の本棚 2014-02-19
「本屋さんで待ち合わせ」三浦しをん 粋な提案 2013-10-01
PythonでCPUの数を調べる。 ヲドリテヒヅル 2012-12-03
ぼくはお金を使わずに生きることにした 紹介 感想 わかめになりたい 2011-12-02
au の HTC EVO がなかなか良かった話 tdtshのブログ 2011-05-25
逆転経済の反響 世界一のバイヤーになってみろ!!坂口孝則の本棚と雑文 2010-12-27
Who Moved My Cheese? 大学生の気ままな書評 おすすめ和書・洋書! 2010-10-30
sekoさんちからPOSTがあったけど・・・ PapaBlog 2010-09-12
Squid(キャッシュサーバーモード)を試してみる PapaBlog 2010-08-25
Apache 2.2のキャッシュ機能を使ってみる PapaBlog 2010-08-08
愛と資本主義 中村うさぎ ばみの乱読日記 と猫雑貨。 2010-08-07
Flowplayerがバージョンアップしてスッキリしていた PapaBlog 2010-06-06
 
Document Actions

Docker コンテナをexportするpythonスクリプト

by seko posted at 2016-03-31 19:30 last modified 2016-03-31 21:59

docker exportを使ってコンテナの簡易バックアップをとるスクリプト

コンテナ名+曜日の番号のtgzファイルが生成されます。

バックアップの方法として、次のような方法を考えましたが、最初に2つはコンテナを止める必要があります。 これに対し、exportはコンテナを動かした状態で行えるので、この方法でいくことにしました。

  • commitしてイメージを作る
  • イメージをsaveする
  • exportする

pythonでパイプを含んだコマンド実行する方法をそのまま使わせていただきました。

http://ni66ling.hatenadiary.jp/entry/20150110

#!/usr/bin/env python 
import subprocess 
import datetime 
ret = subprocess.check_output(["docker","ps"]) 

def get_container_names(): 
    names=[] 
    ret = subprocess.check_output(["docker","ps"]) 
    for line in ret.split("\n")[1:-1]: 
        name = line.split(" ")[-1:][0] 
        names.append(name) 
    return names 

### Main ## 
mypath = "/home/docker/export/" 
d = datetime.datetime.now() 
ddd = d.weekday() 
print ddd 

for name in get_container_names(): 
    command = "docker export " + name + " | gzip > " + mypath + name + "_" + str(ddd)+".tgz" 
    proc = subprocess.Popen( 
    command, 
    shell  = True, 
    stdin  = subprocess.PIPE, 
    stdout = subprocess.PIPE, 
    stderr = subprocess.PIPE) 

stdout_data, stderr_data = proc.communicate() 
print stdout_data 
print stderr_data
Category(s)
python
The URL to Trackback this entry is:
http://lightson.dip.jp/blog/seko/3679/tbping
Add comment

You can add a comment by filling out the form below. Plain text formatting.

(Required)
(Required)
(Required)


Powered by Plone, the Open Source Content Management System

This site conforms to the following standards: