DamienKarrus’s blog

プログラミングとクライミングの足跡

開発環境

既存webシステムのコンテナ化(1) Docker実践-2

WSL2(debian latest)を使って既存のシステムのコンテナ化をしてみようと思う。 開発環境の構成は次の通り。 Windows10 professional WSL2 (debian latest) Docker (20.10.17) 開発環境の構築手順はこちら damienkarrus.hatenablog.com コンテナ化する対象…

Windows10 Pro+WSL2+DebianでDockerを動かす

現行システムのコンテナ化を進めるにあたりまずは開発環境を構築する。作業PCはWindows10 Proである。 WSLのインストール まずはWSLのインストールから(ホストOSはwindows10 Pro 21H1) コマンドプロンプトを管理者権限で実行 > wsl --install > dism.exe /…

crontabへのスケジュール登録

crontabにファイルを使ってスケジュールを一括登録する。 この方式は既存のスケジュールを消去して新たに新規登録するため、まずは現在のスケジュールをバックアップしておき、そのバックアップデータを修正して新たなスケールを作成し一括登録する手順で行…

LAPP on コンテナ on WSL2

WSLを使って開発環境(LAPP)をコンテナで作ってみようと思う。 ホスト側環境は以下の通り Windows11 WSL2 (Ubuntu-20.04) Docker (20.10.14) デバッグの効率性を考えて、PHPのソースはWindows上のフォルダに置き、それをUbuntuが勝手にマウントしてくれるので…

PostgreSQLのコンテナを作る Docker実践-1 

DBのコンテナを作ってみる。 PostgreSQLの14.xで作成することにする。カレントディレクトリを mpses とする。 Dockerfileはpostgresフォルダを作りその中に入れる mpses/postgres/ Dockerfileを作る FROM postgres:14-alpine ENV LANG ja_JP.utf8 debian版と…

PHP8.1+PostgreSQL14.2の最新LAPP環境構築

本日時点での最新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のインストール(windows11)

WSL2(Windows Subsystem for Linux2)はWindowsOS上で仮想マシンとしてLinuxカーネルを動作させるサブシステムである。 インストールするWindowsエディションやバージョンによってインストール工程は異なる。今回インストールの対象としたのは、以下のマシン…

Amazon ECRでプライベートなレジストリを構築する Docker入門-13

Docker Hubのフリープランだと、プライベートなレジストリは1つしか使えない。そこでAmazon ECRを使用してみる。 Amazon ECRは1年間の無料利用枠で500MBまで無料。 ECRを使うための準備をする。まずはIAMユーザの登録。ECRにアクセスするためにはこのIAMア…

Docker Hubにイメージを登録する Docker入門-12

Docker Hubにイメージを登録するには まずはSign Upする https://hub.docker.com/ にアクセスして、Sign Inを選び アカウント名:damienkarras Email:hogehoge@gmail.com パスワード:************** プラン選択画面で、無料プランのpersonalを選ぶ Create a…

postgresのユーザ、パスワードの設定・変更

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 / SCP をしようとした際にWARNING: POSSIBLE DNS SPOOFING DETECTED! とでる

サーバを移行した後、SSH / SCP をしようとした際に以下のメッセージが出る。 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: POSSIBLE DNS SPOOFING DETECTED! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ T…

サーバ間のファイルコピー SCP

サーバ間でのファイル転送には、一般的にSFTP、SCPが使われる。 これらのメリットは、 SSHプロトコルを使用しているので、認証情報とデータの両方が暗号化される。 秘密鍵を用いての通信が可能 という点にある。 両者の違いは SCPの方が高速 人間が操作する…

オリジナルイメージ(3) Apache+PHP+ソースファイルのイメージ作成 Docker入門-11

ApacheとPHPをインストールして、phpのソールファイル(index.phpのみ)をコピーしたイメージを作ってみる。 ApacheとPHPはaptを使ってインストールし、その後DocumentRootにPHPをコピーする。 ワークディレクトリをapとする。この中に用意するファイルは2つ…

パスワードなしでSSH/SFTP接続する方法 CentOS

クライアント側で公開鍵と秘密鍵を作成してサーバとクライアントにそれぞれ配置することによってパスワード認証なしでSSH接続できるようになる。 環境はクライアントがCentOS 5.9 (Final)、サーバがCentOS 7.9.2009 (Core) 手順は以下の通り クライアント側…

オリジナルイメージ(2) Dockerfileの書式 Docker入門-10

Dockerfileの書式について簡単にまとめる。 書式を説明するにあたり、既存イメージのDockerfileを例にとると、 httpdのイメージのDockerfileはこのようになっている FROM debian:bullseye-slim ENV HTTPD_PREFIX /usr/local/apache2 ENV PATH $HTTPD_PREFIX/…

オリジナルイメージ(1)イメージの作成 Docker入門-9

イメージの作り方 イメージの作り方には2種類ある。 コンテナから作成 コンテナから作成する場合はベースコンテナに修正を加え、新しいイメージとしてアウトプットする。簡単ではあるが、どこにどう手を加えたかの履歴が残らない為、一般にこの方法は利用さ…

複数の手続きを定義ファイルを使って実行する Docker入門-8

Docker Composeは、あらかじめコンテナの起動豊富や、ネットワークの定義、ボリュームの定義などをYAML形式で書いた手続きファイルを読み込んでを実行するしくみである。 大型計算機で使われていたJCLのコンテナ版のようなもの。 いま、Wordpressサーバを立…

コンテナのネットワーク docker入門-7

Dockerには初期状態で3つのネットワークが用意されている bridge: コンテナ生成時に特に指定がなければこのネットワークが使われる host: hostマシンのIPアドレス、portをそのまま使用する。IPマスカレードはできない none: ネットワークは使用しない bridge…

ボリュームのバックアップ docker入門-6

コンテナがマウントしたボリュームに格納されたデータをバックアップする。バックアップ方法はバックアップ用コンテナからtarを発行して、マウントされたホスト側ディレクトリにtarファイルを生成する。リストアはリストア用コンテナからtarコマンドを発行し…

コンテナからデータを分離させる docker入門-5

マウント(バインドマウント)によるデータの分離 コンテナ内のデータはコンテナを破棄した時点でコンテナと共に破棄されてしまう。そこで一般的にはホスト側のリソースをマウントする。-v オプションを使用する。 -v マウント元 : マウント先 -v オプション…

コンテナにログインする docker入門-4

-dit オプションについて -d デタッチ バックグラウンドで実行する -i インタラクティブ 標準入出力をコンテナに連結する -t ターミナル(端末)を割り当てる デタッチ←→アタッチの切り替え方法 アタッチ状態で ctrl+P 、ctrl+Q を順に打つ デタッチ状態で doc…

DockerでWebサーバを作ってみる Docker入門-3

「Dockerのイメージを使って環境構築する ホストOSにapacheをインストールせずに、Webサーバを構築し、不要になったらDockerイメージを削除してもホストOSになんらの影響も与えない。ここではDockerで類似するイメージを探してインストールし、動作確認をし…

Amazon EC2 に docker をインストールする Docker入門-2

AWSでEC2のインスタンスを作る 無料の範囲を超えないように以下の構成とした。 OS: ubuntu 18.04 LTS(HVM) vCPU: 1 memory: 1GB ストレージ: 20GB セキュリティ: 22,443,80,8080-8082,30000を開けたキーペアを発行し、秘密キー(pem)をクライアントマシンに…

「コンテナ」の基礎 Docker入門-1

「コンテナ」とは コンテナとはシステム上にある隔離された空間を作った時のその空間のこと。システムとはLinuxやWindows、MacOSなどで、このケースではホストOSと呼ばれる。ホストOS上に空間を作り、その空間の中でこれから開発をしようとするシステムを動…