基礎的なこと
ひとまず座学したことをまとめてみた。
Dockerはコンテナ 仮想化OSを使用しない分軽く手軽。
基本 Dockerファイル(設定ファイル)を作って、ビルドしてイメージを作る。イメージを実行してコンテナを起動する。
Dcokerイメージ すでにDocker Hubに色々用意されていたりする。
コマンド イメージのpull
docker pull hoge
イメージの実行(手元になかったら勝手にDocker Hubに探しに行く。)、-dはデバッグモードで指定しないとフォアグラウンド実行される。-pはポート指定で8081はホスト側、80はコンテナ側 データの永続化したい場合は -v で場所指定 (一時的に作って消すのは --rm)
docker run -d -p 8081:80 hoge
状態をみる。
docker ps -a
停止する
docker stop コンテナID
コンテナ閉じる
docker rm コンテナID
イメージ削除
docker rmi コンテナID
- docker file作成
DockerFileというファイル名が普通? FROM poi どのイメージを使用するか、省略しないこと。 RUN yum -y update RUNはイメージを作る際のコマンド RUN yum -y install hoge ADD my/index.html var/www/html/index.html 設定等ファイルのコピー (COPYというのもある) EXPOSE 80 コンテナ側でListenするポート指定をしておくと実行するとき省略できる? CMD ["/user/sbin/hoge", "-a", "xyx"] コンテナ起動時に実行されるコマンド
docker filleのビルドは
docker build -t test/hoge:ver2.5
-t はタグ指定で階層構造で指定できる。version指定したい場合は:ver2.5などをつける。
これでイメージができてる。
docker images
- オーケストラレーションツール サービスの停止等を監視等、実際に運用する場合はこれらを使う。googleのKubernetesやAWSのECSが主にある。