Docker
WSL2(debian latest)を使って既存のシステムのコンテナ化をしてみようと思う。 開発環境の構成は次の通り。 Windows10 professional WSL2 (debian latest) Docker (20.10.17) 開発環境の構築手順はこちら damienkarrus.hatenablog.com コンテナ化する対象…
現行システムのコンテナ化を進めるにあたりまずは開発環境を構築する。作業PCはWindows10 Proである。 WSLのインストール まずはWSLのインストールから(ホストOSはwindows10 Pro 21H1) コマンドプロンプトを管理者権限で実行 > wsl --install > dism.exe /…
WSLを使って開発環境(LAPP)をコンテナで作ってみようと思う。 ホスト側環境は以下の通り Windows11 WSL2 (Ubuntu-20.04) Docker (20.10.14) デバッグの効率性を考えて、PHPのソースはWindows上のフォルダに置き、それをUbuntuが勝手にマウントしてくれるので…
DBのコンテナを作ってみる。 PostgreSQLの14.xで作成することにする。カレントディレクトリを mpses とする。 Dockerfileはpostgresフォルダを作りその中に入れる mpses/postgres/ Dockerfileを作る FROM postgres:14-alpine ENV LANG ja_JP.utf8 debian版と…
Docker Hubのフリープランだと、プライベートなレジストリは1つしか使えない。そこでAmazon ECRを使用してみる。 Amazon ECRは1年間の無料利用枠で500MBまで無料。 ECRを使うための準備をする。まずはIAMユーザの登録。ECRにアクセスするためにはこのIAMア…
Docker Hubにイメージを登録するには まずはSign Upする https://hub.docker.com/ にアクセスして、Sign Inを選び アカウント名:damienkarras Email:hogehoge@gmail.com パスワード:************** プラン選択画面で、無料プランのpersonalを選ぶ Create a…
ApacheとPHPをインストールして、phpのソールファイル(index.phpのみ)をコピーしたイメージを作ってみる。 ApacheとPHPはaptを使ってインストールし、その後DocumentRootにPHPをコピーする。 ワークディレクトリをapとする。この中に用意するファイルは2つ…
Dockerfileの書式について簡単にまとめる。 書式を説明するにあたり、既存イメージのDockerfileを例にとると、 httpdのイメージのDockerfileはこのようになっている FROM debian:bullseye-slim ENV HTTPD_PREFIX /usr/local/apache2 ENV PATH $HTTPD_PREFIX/…
イメージの作り方 イメージの作り方には2種類ある。 コンテナから作成 コンテナから作成する場合はベースコンテナに修正を加え、新しいイメージとしてアウトプットする。簡単ではあるが、どこにどう手を加えたかの履歴が残らない為、一般にこの方法は利用さ…
Docker Composeは、あらかじめコンテナの起動豊富や、ネットワークの定義、ボリュームの定義などをYAML形式で書いた手続きファイルを読み込んでを実行するしくみである。 大型計算機で使われていたJCLのコンテナ版のようなもの。 いま、Wordpressサーバを立…
Dockerには初期状態で3つのネットワークが用意されている bridge: コンテナ生成時に特に指定がなければこのネットワークが使われる host: hostマシンのIPアドレス、portをそのまま使用する。IPマスカレードはできない none: ネットワークは使用しない bridge…
コンテナがマウントしたボリュームに格納されたデータをバックアップする。バックアップ方法はバックアップ用コンテナからtarを発行して、マウントされたホスト側ディレクトリにtarファイルを生成する。リストアはリストア用コンテナからtarコマンドを発行し…
マウント(バインドマウント)によるデータの分離 コンテナ内のデータはコンテナを破棄した時点でコンテナと共に破棄されてしまう。そこで一般的にはホスト側のリソースをマウントする。-v オプションを使用する。 -v マウント元 : マウント先 -v オプション…
-dit オプションについて -d デタッチ バックグラウンドで実行する -i インタラクティブ 標準入出力をコンテナに連結する -t ターミナル(端末)を割り当てる デタッチ←→アタッチの切り替え方法 アタッチ状態で ctrl+P 、ctrl+Q を順に打つ デタッチ状態で doc…
「Dockerのイメージを使って環境構築する ホストOSにapacheをインストールせずに、Webサーバを構築し、不要になったらDockerイメージを削除してもホストOSになんらの影響も与えない。ここではDockerで類似するイメージを探してインストールし、動作確認をし…
AWSでEC2のインスタンスを作る 無料の範囲を超えないように以下の構成とした。 OS: ubuntu 18.04 LTS(HVM) vCPU: 1 memory: 1GB ストレージ: 20GB セキュリティ: 22,443,80,8080-8082,30000を開けたキーペアを発行し、秘密キー(pem)をクライアントマシンに…
「コンテナ」とは コンテナとはシステム上にある隔離された空間を作った時のその空間のこと。システムとはLinuxやWindows、MacOSなどで、このケースではホストOSと呼ばれる。ホストOS上に空間を作り、その空間の中でこれから開発をしようとするシステムを動…