2017-12-11 21 views
1

yamlファイルを介してローカルファイルシステム上にディレクトリを作成する方法はありますか? 私は現在、コンテナ内のローカルファイルsysからdirをマウントしています。しかし、ファイルシステム上のディレクトリが存在しない場合は、ディレクトリをマウントできないため、コンテナの起動に失敗します。できるだけシームレスにするにはどうしたらいいですか?そして、ディレクトリ作成のロジックをswarm yamlファイルに埋め込みますか?docker swarm compose/yamlファイルを使用してディレクトリを作成する

答えて

0

私が知る限り、docker-composeはこれを許可していません。おそらくこれを手作業で行う必要があります。

puppetまたはansibleのような自動化ツールを使用して、アプリケーションを展開して適切なディレクトリを作成してサーバーをセットアップすることもできます。

- name: copy docker content 
    copy: 
    src: /path/to/app_src 
    dest: /path/to/app_on_server 

- name: create directory for volume 
    file: 
    name: /path/to/mountpoint 
    state: directory 

- name: start containers 
    shell: docker-compose up -d --build 
    args: 
    chdir: /path/to/app_on_server 

(このスニペットを提供するために、ここであることに注意してください:ここでは

は、あなたのタスクは、例えば上のコンテナのボリュームをマウントするシンプルなアプリを展開したディレクトリを作成するためにansible playbookでのように見える可能性がどのようですコンセプトの一般的なアイデアは、おそらくbecome directives、アクセス許可、所有権、ソフトウェアのインストールとアプリケーションに非常に特定の多くの他のステップを設定する必要があります)

0

最もきれいな方法は、Dockerfile公式NginxイメージさらにRUN mkdir /my/folderを追加します。

その後、docker build .でNginx用の独自のDockerイメージを作成します。それからあなたは正式な情報源に基づいて必要なものを含むきれいなイメージを持っています。

関連する問題