docker
NewRelicのアカウントを作成し、言われるままにPHPのAgentを設定しているとエラーに遭遇。どうやらnewrelic.iniがコンテナ内に存在しておらずsedコマンドが実行できないとのこと。 $ docker build -t "php:8.3.7-apache_with_newrelic" --build-arg NEW_RELI…
コンテナ起動時に、利用できるIPアドレスが無かったり、サブネットが無い場合以下のようなエラーが出ます。 Error response from daemon: could not find an available, non-overlapping IPv4 address pool among the defaults to assign to the network 初…
マルチステージビルドとは マルチステージビルドとは、Dockerイメージをビルドする際に複数のコンテナ、ステージを使用する手法です。基本的に最初のステージでビルドや依存関係の解決を行い、最終のステージではコンテナに実行ファイルとその他実行に必要な…
Dockerを用いて開発を行っている場合、コンテナのセキュリティも少々気になりますよね。そんなときはerzz/dockle-actionを使えばgithub-actions上で脆弱性診断が行なえます。 使い方 以下のyamlを.github/workflows/docker-test.ymlに貼り付けてリモートにpu…
pecoとは 簡単にいうと 「標準入力から受けた行を選択しできるようにして、選択した行を標準出力に返す」 コマンドです。 これまで出力を確認してコピペしていた作業がpecoを使うとすごく便利になるというわけです。 インストール brewを使ってインストール…
「docker create」 をGo言語で 「Go client for the Docker Engine API」パッケージを使用します。 https://pkg.go.dev/github.com/docker/docker/client 以下のコードを実行するとdocker create httpdと同様の動作を行えます package main import ( "contex…
DockerでSSHができるコンテナの作成を行う記事はたくさん見つかるのですが、パスワード認証でSSH接続ができるようにする記事は少なかったので書きます。 ubuntuのDockerfile SSHをされる側はubuntu:latestで行います。 内容としてはopenssh-serverをインスト…
最近、Dockerを使用して開発を行っていたところ、ディスク容量に問題が発生しました。DockerのDisk imageが64GBも占有していたのです。この容量が圧迫され、他の作業に支障をきたすようになっていました。 DockerはDisk imageの容量を先に確保する Docker De…
基本的に容量が圧迫される原因はイメージ・ボリューム・キャッシュあたりです。特にキャッシュは普段見ないので以外に気づきません。以下のコマンドを実行するといろいろなものが削除されて容量が戻ります。 # 使用されていないボリューム, イメージ, ネット…
MySQLをデプロイ Goのアプリをデプロイ イメージの作成 pushしたイメージからPodを作成する 注意 この記事で用いているソースコードの大半はchatGPT(GPT-4)を用いて生成されています。あくまでサンプルと思って読んでください。 MySQLをデプロイ 以下のyaml…
nginxコンテナでhost.docker.internalを利用しようとした際に一生名前解決ができなくて困った件を書きます。 TL;DR nginxは/etc/hostsを参照しないので/etc/hostsに記載されても名前解決できない 172.17.0.1 host.docker.internal そのためhostネットワーク…