これは私のdocker-compose.ymlがどのように見えるかです。
nginx:
container_name: 'nginx'
image: 'nginx:1.11'
restart: 'always'
ports:
- '80:80'
- '443:443'
volumes:
- '/opt/nginx/conf.d:/etc/nginx/conf.d:ro'
links:
- 'anything'
次に、シェルスクリプトを介してコンテンツを追加する必要があります(ubuntuサーバー上)。それが可能かどうかはよくわかりません:
- 新しい要素が
nginx/links
存在しない場合は、に追加します - 追加の
newthing
ブロックなしnewthingブロックが存在されていない場合
新しいコンテンツは次のようになります。
nginx:
container_name: 'nginx'
image: 'nginx:1.11'
restart: 'always'
ports:
- '80:80'
- '443:443'
volumes:
- '/opt/nginx/conf.d:/etc/nginx/conf.d:ro'
- '/etc/letsencrypt:/etc/letsencrypt'
links:
- 'anything'
- 'newthing'
newthing:
container_name: foo
image: 'newthing:1.2.3'
restart: always
hostname: 'example.com'
少し例を挙げていただけますか?
—
user3142695 2017年
これは技術的にはシェルを使用して可能ですが、実際のyamlライブラリを持つ言語を使用するほうがよいでしょう。
—
ジョーダン2017年
ruamel.yaml
Python のライブラリを確認することをお勧めします。
:私はそれの価値は、リンクが、将来的にドッキングウィンドウから削除されますレガシー機能であることに注意だと思うdocs.docker.com/compose/compose-file/#links
—
ミカエル・ケアーの
sed
、awk
そしてregular expressions
、あなたのファイルを更新します。