開発環境
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 /…
crontabにファイルを使ってスケジュールを一括登録する。 この方式は既存のスケジュールを消去して新たに新規登録するため、まずは現在のスケジュールをバックアップしておき、そのバックアップデータを修正して新たなスケールを作成し一括登録する手順で行…
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版と…
本日時点での最新PHPと最新PostgresでLAPP環境を構築するにはこうします sudo apt-get update sudo apt-get install -y curl ca-certificates gnupg curl https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add - sudo sh -c 'echo "deb h…
WSL2(Windows Subsystem for Linux2)はWindowsOS上で仮想マシンとしてLinuxカーネルを動作させるサブシステムである。 インストールするWindowsエディションやバージョンによってインストール工程は異なる。今回インストールの対象としたのは、以下のマシン…
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…
postgresにapacheというユーザを追加してパスワードを設定しようとした。 $ createuser apache -P Enter password for new role: Enter it again: createuser: creation of new role failed: ERROR: role "apache" already exists パスワードを入力した後に…
サーバを移行した後、SSH / SCP をしようとした際に以下のメッセージが出る。 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: POSSIBLE DNS SPOOFING DETECTED! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ T…
サーバ間でのファイル転送には、一般的にSFTP、SCPが使われる。 これらのメリットは、 SSHプロトコルを使用しているので、認証情報とデータの両方が暗号化される。 秘密鍵を用いての通信が可能 という点にある。 両者の違いは SCPの方が高速 人間が操作する…
ApacheとPHPをインストールして、phpのソールファイル(index.phpのみ)をコピーしたイメージを作ってみる。 ApacheとPHPはaptを使ってインストールし、その後DocumentRootにPHPをコピーする。 ワークディレクトリをapとする。この中に用意するファイルは2つ…
クライアント側で公開鍵と秘密鍵を作成してサーバとクライアントにそれぞれ配置することによってパスワード認証なしでSSH接続できるようになる。 環境はクライアントがCentOS 5.9 (Final)、サーバがCentOS 7.9.2009 (Core) 手順は以下の通り クライアント側…
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上に空間を作り、その空間の中でこれから開発をしようとするシステムを動…