2017-12-20 33 views
1

こんにちは、私はドッカーに新しいです。Dockerからパッケージをインストールするには?

sudo apt-get update && sudo apt-get install yarn 

私は把握できませんでした:

version: "3" 

services: 
    lmm-website: 
    image: lmm/lamp:php${PHP_VERSION:-71} 
    container_name: ${CONTAINER_NAME:-lmm-website} 
    environment: 
     HOME: /home/user 
    command: supervisord -n 
    volumes: 
     - ..:/builds/lmm/website 
     - db_website:/var/lib/mysql 
    ports: 
     - 8765:80 
     - 12121:443 
     - 3309:3306 
    networks: 
     - ntw 

volumes: 
    db_website: 

networks: 
    ntw: 

は私がドッキングウィンドウ-コンファイル内から糸パッケージマネージャをインストールしたい:私はこのようになりますドッキングウィンドウ-compose.ymlを持っていますこれを宣言する方法、私は試してみたサイレント失敗した

command: supervisord -n && sudo apt-get update && sudo apt-get install yarn 

。これを正しく宣言するにはどうすればよいですか?それとも、ドッカーのcompose.ymlが間違った場所ですか?

答えて

0

sudoがドッキングウィンドウでは動作しませんので、この

command: supervisord -n && apt-get update && apt-get install yarn 

を試してみてください。

+0

正しい。しかし、私は試してみましたが、これも失敗しているようです。 – Blackbam

1

なぜ使用しないでくださいDockerfileこのタスクのために特別に設計されていますか?

"画像"プロパティを "ビルド"プロパティに変更して、Dockerfileをリンクします。

あなたのドッキングウィンドウ-compose.ymlは次のようになります。

FROM lmm/lamp:php${PHP_VERSION:-71} 

RUN apt-get update && apt-get install bash 

services: 
    lmm-website: 
    build: 
     context: . 
     dockerfile: Dockerfile 
    container_name: ${CONTAINER_NAME:-lmm-website} 
    environment: 
     HOME: /home/user 
    command: supervisord -n 
     volumes: 
     - ..:/builds/lmm/website 
     - db_website:/var/lib/mysql 
    ports: 
     - 8765:80 
     - 12121:443 
     - 3309:3306 
    networks: 
     - ntw 

volumes: 
    db_website: 

networks: 

は、その後、次の内容のドッキングウィンドウ-compose.ymlと同じパスにDockerfileという名前のテキストファイルを作成します

DockerfileのRUN(cp、mv、ls、bash ...)を使用して、追加、コピーなどの他のDockerfile機能とは別にできるだけ多くのSOコマンドを追加することができます。

+情報:

https://docs.docker.com/engine/reference/builder/

+ライブ-例:

私はgithubのプロジェクトを作ったがをハロードッキングウィンドウ-反応と呼ばれます。その名前はドッカー反応ボックスであり、私が上で説明した手順を使ってヤーンと他のツールをインストールしているときの例としてあなたに役立つことができます。

さらに、docker-compose entrypointプロパティを使用してdocker-compose.ymlファイルにリンクされたエントリポイントbashスクリプトを使用して糸を開始します。

https://github.com/lopezator/hello-docker-react

関連する問題