DockerFileとDockerの共通インストール

2215 ワード

DockerFileって何?
DockerFileは、ミラーを構築するための構築ファイルで、一連のコマンドとパラメータからなるスクリプトです.構築の3つのステップ:
  • DockerFileファイル作成
  • docker build
  • docker run

  • dockerアーキテクチャ(予約ワード命令):
  • FROM:ベースミラー、現在の新しいミラーはどのミラー
  • に基づいているか
  • MAINTAINER:ミラー保守者の名前とメールアドレス
  • RUN:コンテナ構築時に実行するコマンド
  • EXPOSE:現在の容器が外部に露出するポート
  • WORKDIR:コンテナ作成後に端末がログインするときのディレクトリ
  • を指定する.
  • ENV:ミラーの構築中に環境変数を設定するための
  • ADD:ホストディレクトリの下のファイルをミラーにコピーし、ADDコマンドはURLを自動的に処理し、tar圧縮パッケージ
  • を解凍する.
  • COPY:ADDのように、ファイルとディレクトリをミラーにコピーします.構築コンテキストディレクトリのファイル/ディレクトリから新しいレイヤのミラー内の場所
  • にコピーする.
  • VOLUME:コンテナデータボリューム、データ保存および永続化作業用
  • CMD:コンテナの起動時に実行するコマンドを指定します.DockerFileには複数のCMD命令がありますが、最後の1つだけ有効で、CMDはdocker run以降のパラメータに
  • 置換されます.
  • ENTRYPOINT:コンテナの起動時に実行するコマンドを指定します.ENTRYPOINTの目的はCMDと同様にコンテナ起動プログラムとパラメータ
  • を指定することである.
  • ONBUILD:継承されたDockerFileを構築するときにコマンドが実行され、親ミラーが布団継承後に親ミラーのonbuildがトリガーされる
  • .
    Dockerの一般的なインストール
    全体的な手順:
  • ミラーの検索
  • 引き抜きミラー
  • ミラーの表示
  • ミラー
  • を起動
  • 停止容器
  • 容器
  • を除去する.
    dockerインストールmysql
    docker search mysql
    
    docker pull mysql:5.7
    
    docker run -p 12345:3306 --name mysql -v /fatal/mysql/conf:/etc/mysql/conf.d -v /fatal/mysql/logs:/logs -v /fatal/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=1234 -d mysql:5.7
    
    docker exec -it   id /bin/bash
    
    docker exec   id sh -c 'exec mysqldump --all-databases -uroot -p"  "' > /fatal/all-databases.sql               (  docker mysql   )
    

    dockerインストールredis
    docker pull redis:4.0
    
    docker run -p 6379:6379 -v /fatal/myredis/data:/data -v /fatal/myredis/conf/redis.conf:/usr/local/etc/redis/redis.conf -d redis:4.0 redis-server /usr/local/etc/redis/redis.conf --appendonly yes   (appendonly        )
    
    docker exec -it   id redis-cli
    

    ローカルミラーをアリクラウドに公開
    ミラーの生成方法:1.前のDockerFile 2.コンテナから新しいミラーdocker commit[OPTIONS]コンテナidを作成する
    $ sudo docker login --username=fatalblows registry.cn-hangzhou.aliyuncs.com
    $ sudo docker tag [ImageId] registry.cn-hangzhou.aliyuncs.com/fatal/mycentos:[     ]
    $ sudo docker push registry.cn-hangzhou.aliyuncs.com/fatal/mycentos:[     ]
    

    アリ雲からミラーリング:docker pull xxxxxxxx