ぷっぽプログラミング備忘録

linux, javascript, php, C#, そのうちScalaとかアプリ開発とかやってみたいです。

docker

dockerで一部のサブディレクトリだけvolumesの範囲から除外したい

概要(結論) 空のnamed volumesで除外したいサブディレクトリを上書きすればよい version: "3.9" services: frontend: build: ./xserver ports: - 3000:3000 volumes: - ./xserver:/app - dummy-volumes:/app/node_modules # node_modules はホストPCと共用…

docker-composeの.envの変数をDockerFileで使いたい

結論 .env ファイルに HOGE=aiueo と記載した場合 docker-compose.ymlで version: "3" services: foo: build: context: . dockerfile: "Dockerfile" # Dockerfile に渡す変数 args: # .env の HOGE を FOOBAR として渡す - FOOBAR=${HOGE} 最後に、DockerFil…

docker-compose.ymlのenvironmentの書き方が変わった?

結論 environment: - LARAVEL_SERVER_NAME=${LARAVEL_SERVER_NAME} - WORDPRESS_SERVER_NAME=${WORDPRESS_SERVER_NAME} といった感じで、「-(ハイフン)」で設定すれば動いた。 動かなかった書き方 以前は、 environment: LARAVEL_SERVER_NAME: ${LARAVEL_S…

docker-composeで特定コンテナのみ再起動したい

概要 docker-compose restart 【サービス名】 注意 docker-compose.ymlなどのymlファイルの変更は、このコマンドでコンテナを再起動しても、変更が反映されません。 変更を反映した場合は、docker-compose downをしてコンテナをいったん破棄して、docker-com…

VSCodeで開発 ubuntu20.04 に php のxdebugをインストール(php8.1の場合)

DockerFileで以下内容を記述 ...なんやかんや RUN apt install -y php8.1-xdebug ...なんやかんや (DockerFileのお作法的には、他のapt installしているものと一緒にまとめるべきですが、そういうのは動いてから調整すればいいと思うので) コンテナのphp.i…

Ubuntu + docker+postfix+gmail経由でメールを送信する

Docker上のコンテナ内から、postfixを使ってgmail経由でメールを送信する方法です。 (受信とかはできません) 1. Googleアカウントの「2段階認証プロセス」を有効化する 2. Googleアカウントでアプリパスワード(※1)を取得する ※16ケタぐらいの*ログインパス…

windows10でdockerを簡単に導入できるようになっていた

Docker Desktop for WindowsをWSL2で使おうと思ったら、手順が前はすごく面倒くさかったイメージがありました。 時代は変わった…! 公式ページから、Docker Desktop for Windowsをダウンロードしてインストールできるようになりました。素晴らしいです。 htt…

VPS上でdockerを起動して外部からアクセスする

VPSなどを利用していて、VPS上にdockerをインストールし、コンテナ立ち上げて、外部から接続するケース。 最低限やればいいことを以下に列挙します。 ・docker-compose.ymlで、portsでしっかりと外部側のポートを指定。 ports: "8080:80" みたいな感じで。 ↑…

DockerfileのFROMにローカルイメージを指定する

地味にあんまりこの情報のってない気がするので記載。 DockerfileのFROMは、通常 FROM ubuntu:18.04 のような形でDocker公式イメージなどを使うことが多いと思うのですが、この場合はwebからイメージをとってくる感じになるかと。ここにローカルで既に以下の…

Conohaで8080ポートなどを開放する/ufwとdockerはある意味兄弟(iptables使ってた)

意外と大変。 ConoHaは、sshとかwebとかよく使うポート番号しか管理画面上では開放できません。 8080も意外と使うで?(関西弁風) いきます。 1. ConoHa管理画面で接続をすべて許可するに設定 → この時点で踏み台にされ放題かも。まあしばらくは仕方ないさ…