Python スクリプトの流れ:
- Pythonスクリプトからdockerイメージを実行したい。
- docker イメージを実行した後、docker コンテナー内に tar ファイルを作成するシェル スクリプトを実行する必要があります。
- その tar ファイルを Docker コンテナからホスト マシンにコピーする必要があります。
- そして、pythonスクリプトは、ホストマシンで実行されるいくつかのものを続行する必要があります.
docker-py モジュールを使用して、次のことができました。
pip install docker-py
docker version
Client:
Version: 1.12.1
API version: 1.24
Go version: go1.6.3
Git commit: 23cf638
Built: Thu Aug 18 05:22:43 2016
OS/Arch: linux/amd64
Server:
Version: 1.12.1
API version: 1.24
Go version: go1.6.3
Git commit: 23cf638
Built: Thu Aug 18 05:22:43 2016
OS/Arch: linux/amd64
>>> import docker
>>> c = docker.Client(base_url='unix://var/run/docker.sock',version='1.12',timeout=10)
>>> c.images()
[{u'Created': 1476217543, u'Labels': {}, u'VirtualSize': 5712315133, u'ParentId': u'sha256:1ba2be8d70b6ede3b68b1af50759e674345236dd952225fcbfbcc1781f370252', u'RepoTags': [u'ubuntu14.04_64:latest'], u'RepoDigests': None, u'Id': u'sha256:1c8ced0fb34d776adafaed938d41a69e3bab87466beaa8752d49bde0d81230c5', u'Size': 5712315133}]
>>> ctr = c.create_container('ubuntu14.04_64:latest')
>>> c.start(ctr)
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
d685766385e7 ubuntu14.04_64:latest "bash" 16 hours ago Up 16 hours focused_fermi
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu14.04_64 latest 1c8ced0fb34d 21 hours ago 5.712 GB
ホスト上で docker イメージとコンテナーが実行されているのを確認しましたが、docker コンテナー内でシェル スクリプトを実行したい場合、どうすればよいですか? その後、tar をコンテナーからホストにもコピーする必要があります。誰かがこれを行う方法を提案できますか?