dockerにmysqlサーバーを追加するYML(ヤムル)ファイル #yml

2022.12.16

Logging

おはようございます、1,2,3🎉。Docker呟き第3回ぐらいですかね🙄。

今日はdockerにmysqlサーバーの設定、追加した話です。これでローカル環境で動作するだろうと思います、実際、mysqlのコマンドをwebサーバーから叩いてみて確認は行っています。尚、webサーバー側にmysqlにインストールして上げないとコマンドでの確認が取れません。

また、Dockerの外側と言えば良いのかな?、外部から例えばHeidisqlなので繋ぎたい場合はホストを127.0.0.1にしないと繋げないようです。そこら編も注意してくださませ🙇。

この頃、Dockerを使うようになってまだ日が浅いので右も左も分からないのですが、もっと出来ることを知りたいなと思って本を購入したわけですが、入門書には自分の知りたいことは、最後のページに書いている部分だけでした。立ち読みしていた時点でそれは分かっていたので、凄く悩んで先日、本を購入したのですが、それでも購入してよかったと思います。

version: "3"
services:
  web:
    image: almalinux:latest
    container_name: web_v0
    ports:
      - 80:80
      - 443:443
    privileged: true
    command: /sbin/init
    extra_hosts:
      - "example.com:127.0.0.1"
    volumes:
      - X:\var\www\html:/var/www/html
  db:
      image: mysql:latest
      container_name: db_v0
      command: --default-authentication-plugin=mysql_native_password
      restart: always
      hostname: mysqlhost
      environment:
        MYSQL_USER: hogeuser
        MYSQL_PASSWORD: password
        MYSQL_DATABASE: hoge_db
        MYSQL_ROOT_PASSWORD: password
      ports:
        - 3306:3306
      expose:
        - '3306'
      volumes:
        - ./db/mysql_init:/docker-entrypoint-initdb.d
        - ./db/mysql_data:/var/lib/mysql
      tty: true

タグ

--privileged, -Command, almalinux, default-authentication-plugin, docker, Environment, example.com, expose, hostname, init, latest, MYSQL, password, ports, restart, sbin, services, tty, volumes,

Dockerは楽だなという事を今頃理解しましたよ。 #vbox #docker

2022.10.03

Logging

おはようございます、月曜日の朝はテンション低めな方も多いはず😇。

さて、今日は先週の木曜日と金曜日にふと今後のためにDockerをもう少し触ってみようと思い作業終了後触ってみました、触れて気づいた事は開発環境を作るのがとても楽だということ(気づくの遅い?🫠)。自分は昔の人間なのでvisualboxばかり触っていたのですがDockerは素晴らしい。サーバー周りが得意な人にイメージを作ってもらってそれを共有すれば皆、同じ環境下で開発が出来るので良いという事に今頃気づいた・・・。

 docker run -it -d -v C:\var\www\html\:/var/www/html --privileged -p 80:80 --name こんてな命名 イメージid /sbin/init

※Visualboxでも可能ですけどね。Dockerのだとそこが楽だしマウント(フォルダ共有)もスムーズに行くので自分は良いなと感じました。

ちょっと残念だった点は自宅で作業している中、バッファローのNAS🍆に作業ファイルを入れているのですが、それとは共有出来なかった点です、対応として実PCをrobocopyしてNASと同期を取るという形にしました。これで問題はなくテスト環境下で開発ができます。尚、高級なNASではそういう問題なく上手くいくそうですよ。※NASはバックアップデータになりました。

robocopy <コピー元> <コピー先> /E /DCOPY:DAT

尚、mirのオプションにしなかったのには理由があります。コピー元のファイルが消えたり、ディレクトリが破損した場合、コピー先のファイルやディレクトリが消えて無くなるらしいので・・・。完璧なミラーリングは辞めました。

こんな感じで快適なテスト環境が作れます(上記のコマンド参考に)。

タグ

--privileged, -p, -v, 80, D-, docker, html, ID, init, IT, name, run, sbin, var, vbox, Visualbox, www, イメージ, こと, こんてな, サーバー, スムーズ, そこ, それ, ため, テンション, パス, フォルダ, マウント, , , 人間, 今後, 今日, 今頃, 低め, 作業, 先週, 共有, 可能, 周り, 命名, 得意, , , 月曜日, , 木曜日, 理解, 環境, , 終了, 自分, , 金曜日, 開発,