猫でもわかるWeb開発・プログラミング

本業エンジニアリングマネージャー。副業Webエンジニア。Web開発のヒントや、副業、日常生活のことを書きます。

AWS CDK で ECS Exec を有効にしてコンテナのシェルに接続する

はじめに ECS Exec が有効になっているかどうか確認する方法 ECS Exec の有効化 AWS CDK の修正 タスクを再起動 AWS Exec 実行例 参考 はじめに ECS Exec を使うと、コンテナのシェルに接続できるので(docker exec ができる。SSH みたいな感じ)、AWS ECS …

AWS CDK で構築した AWS CodeBuild の docker build で NO_PUBKEY エラー

発生した現象 結論 詳細 発生した現象 AWS CDK で CodeBuild のプロジェクトを作成し、Docker のビルドを行ったところ、 Dockerfile の RUN apt-get update で以下のようなエラーが発生しビルドに失敗してしまった。 Err:1 http://security.ubuntu.com/ubunt…

GitHub Actions + GitHub Container Registry (ghcr.io)で target ごとの Docker ビルド

はじめに GitHub Container Registry (ghcr.io)について ghcr.io マルチステージビルドで target を指定したい場合 はじめに 私はある個人プロダクトで、Docker を使って開発しており GitHub Actions で Docker イメージをビルド GitHub Container Registr…

AWS ECS + Fargate の ECS Exec で An error occurred (TargetNotConnectedException)

ECS Exec で An error occurred (TargetNotConnectedException) Amazon ECS Exec Checker でトラブルシューティング 実行例 各項目の説明 Prerequisites for check-ecs-exec.sh Prerequisites for the AWS CLI to use ECS Exec Cluster Configuration Can I …

PHP + Laravel on Docker で MySQL に接続しようとして could not find driver at ...

環境 エラー内容 調査 環境 Docker の php:7.4.16-apache を利用 Laravel を利用 エラー内容 [2021-08-24 10:43:16] production.ERROR: could not find driver at /app/laravel/vendor/laravel/framework/src/Illuminate/Database/Connection.php:671) 調査 …

Kubernetes チュートリアルで「ローリングアップデート」を学ぶ

はじめに ローリングアップデートとは 実際にやってみる アップデートの完了 ロールバック はじめに 前回、アプリケーションのスケールアップ/ダウンをやりましたが、その知識を使って、アプリケーションの「ローリングアップデート」をやります。 kubernete…

Kubernetes チュートリアルで「アプリケーションのスケーリング」を学ぶ

はじめに スケーリング 実際にスケールアップさせてみる ロードバランシングの確認 スケールダウン はじめに 前回、 Hello Minikube チュートリアルをやりました。 www.utakata.work 今回はその次のチュートリアルである「Kubernetes の基本を学ぶ」をやりま…

Hello Minikube チュートリアルで Kubernetes を学ぶ

Hello Minikube とは Minikube とは Mac に Minikube と kubectl をインストール Minikube の起動 Kubernetes のノードと kubectl Pod と Deployment Deployment の作成 Service を作成してコンテナにアクセス アドオンについて Kubernetes クラスタ上のリソ…

Python で Hello World して学ぶ Docker の使い方

はじめに 前提知識 Docker 上で Python のコマンドを実行してみる Python の Docker イメージを探す Docker イメージのダウンロードと起動 Python を書いて Docker 上で動かす Python のプログラムを書く Dockerfile を書く Docker イメージのビルド Docker …

【Go 言語】 Docker 上 で Gin を動かすまで

前回の復習 go.mod とは go mod を使って gin をインストール Dockerfile の修正 gin を起動するコードを書く 前回の復習 前回は、 Docker 上で Go を動かすまでやりました。まだ読んでないひとは読んでください。 www.utakata.work go.mod とは go.mod は、…

Docker 上で main.go を動かす(Goの開発環境を作る)

何をやるか Docker 開発環境の作成 main.go 参考 何をやるか これから何回かに分けて、 Docker + Go + Gin(Webフレームワーク)の開発環境を整えていきます。 ディレクトリ構成やコマンドの書き方、変更検知してコンパイルなど、開発に必要な最低限の環境を…

Mac上に立てたDockerに固定IPを降って、IPでアクセスしようと思ったらできなかった

やりたいこと 結論 代替手段 やりたいこと Docker でローカル開発環境を作りたい時があります。 アプリには、APIサーバーとWebサーバーがあり、 docker-compose up -d で立ち上げたいです。 docker-compose up -d すると、 192.168.33.10 -- Web サーバーが…

Djangoの「プロジェクト」と「アプリケーション」、INSTALLED_APPS【PythonでWebアプリ】

プロジェクトとアプリケーション アプリケーションの作成 INSTALLED_APPへの追加(重要) 今回の差分 参考 プロジェクトとアプリケーション Django には「プロジェクト」と「アプリケーション」の概念があり、 一つのプロジェクトの中に複数のアプリケーショ…

Python と Django で Web アプリを作って Docker で動かす: その1

はじめに なぜPythonを使うのか 環境 Django を入れる Django アプリケーションの作成 DockerでPythonの開発環境を作成する requirements.txt の用意 Dockerfile の作成 Docker のビルド docker-compose ディレクトリが同期されるように 続きは次回 はじめに…

PHPEarth の Docker イメージに PDO をインストールする

PHPEarth とは PHPEarth のイメージにはPDOが入っていない Dockerfile で確認 ドキュメントを確認 Dockerfile で追加してみる 動かない理由を調査する php -m で見てみる php.ini を見る イメージを削除してやりなおしてみる 結論 PHPEarth とは PHPの色々な…

Laravelより早いLumenとLiteSpeedを組み合わせてDocker上で動かす

はじめに Lumen Lumen Lumenのアプリを作成する Docker LiteSpeed LiteSpeed とは Docker の LiteSpeed イメージ Docker LiteSpeed ファイル構造 Lumen のための設定 まとめ はじめに この記事では、Docker上でLiteSpeedを使ってLumenを動かすことを目標にし…

docker-compose down で down しなくなったコンテナを down させる

docker-compose up -d した状態でうっかり docker-compose.yml を編集したりすると、 docker-compose down しても down せずに残ってしまう事がある。 Creating network "lumenspeed_default" with the default driver Creating lumenspeed_app_1 ... error …

Heroku向けのアプリケーションのローカル開発環境向けにDockerでPostgreSQLサーバーをたてる

はじめに(読み飛ばしていいです) docker-compose.yml(ここから読んだらいいです) LGTMoonの場合 はじめに(読み飛ばしていいです) Herokuを使っているとPostgreSQLをよく使います。HerokuではPostgreSQLのデータベースが無料で使えるからです。MySQLを…

Dockerイメージを使ってRuby on Railsの開発をすすめる

もくじ もくじ ディレクトリを共有 アプリケーションを動かすユーザーを作成 ファイルを同期してみる rails new してみる。 Dockerを使ってRuby on Railsの開発を進められる環境を整えたいと思います。 ディレクトリを共有 hostのmacとdockerでディレクトリ…

指定したバージョンのRubyとRailsが動くDocker環境を用意してsshできるようになるまで

もくじ もくじ Rubyが動くDockerを作りたい理由 dockerのインストール 今回利用したOSやDockerのバージョン dockerイメージをダウンロード DockerfileとDockerイメージの作成 Dockerイメージから起動 ssh したい場合 停止方法 次回 Rubyが動くDockerを作りた…

Ubuntuにdockerをインストールする

はじめに JenkinsとかGitなどを、Docker上で動かしたいため、家にあるUbuntuサーバーにDockerを入れたいと思います。 環境 $ cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=14.04 DISTRIB_CODENAME=trusty DISTRIB_DESCRIPTION="Ubuntu 14.04.2 L…