docker参考書では教えてくれないymlの設定🙄。 #docker

2022.12.20

Logging

おはようございます、勉強しているのですが自信がない…。

Dockerをどっか~ん、はいスミマセンおじさんギャグです🙇。ヤムルファイルとDockerファイルを使うと結構手抜きが出来るですね。この頃、Dockerの良いところを取り入れたサービスが新たに登場しましたよね。Finchとか言う奴です・・・AWSが提供しているやつ🙄。

自分は当分、Dockerを使います。Dockerを使用していた前はVirtualBoxでした。他にもVagrant(ベイグラント)に浮気したこともありますが、Dockerを使用してからは他の仮想サービスより使いやすい事が分かりました。使っている人が多いとヤムルファイルやDockerファイルもネットにゴロゴロ転がっていますからね。

さて、最後に自分が使っているymlファイルの設定です、いらない部分もあるかもですがご自由にご使用ください。

    build:
      context: .
      dockerfile: Dockerfile
version: "3"
services:
  web:
    image: almalinux:latest
    container_name: test_v0
    restart: always
    ports:
      - 443:443
      - 80:80
    privileged: true
    command: /sbin/init
    extra_hosts:
      - "taoka-test.com:127.0.0.1"
    volumes:
      - X:/var/www/html:/var/www/html
    build:
      context: .
      dockerfile: Dockerfile
  mysqldb:
      image: mysql:latest
      container_name: test_db_v0
      command: --default-authentication-plugin=mysql_native_password
      restart: always
      hostname: testdbhost1
      environment:
        MYSQL_USER: hogeuser
        MYSQL_PASSWORD: password
        MYSQL_DATABASE: hoge_db
        MYSQL_ROOT_PASSWORD: password
        TZ: "Asia/Tokyo"
      ports:
        - 3306:3306
      expose:
        - '3306'
      volumes:
        - X:/var/test/db/mysql_init:/docker-entrypoint-initdb.d
        - X:/var/test/db/mysql_data:/var/lib/mysql
      tty: true
  postgresdb:
      image: postgres:latest
      container_name: test_postdb_v0
      restart: always
      hostname: testdbhost2
      environment:
        POSTGRES_USER: hogeuser
        POSTGRES_PASSWORD: password
        PGPASSWORD: password
        POSTGRES_DB: hoge_db
        TZ: "Asia/Tokyo"
      ports:
        - 5432:5432
      expose:
        - '5432'
      volumes:
        - X:/var/test/db2/postgres_init:/docker-entrypoint-initdb.d
        - X:/var/test/db2/postgres_data:/var/lib/postgresql/data
      tty: true

著者名  @taoka_toshiaki

※この記事は著者が40代前半に書いたものです.

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

OFUSEで応援を送る

タグ

-Command, context, default-authentication-plugin, docker, Environment, expose, Finch, hostname, init, latest, MYSQL, password, ports, postgres, postgresql, sbin, services, tty, Vagrant, virtualBOX,

サイト内の文字をハイライトする一万円の案件は。 #案件

2022.12.18

Logging

おはようございます、笑う門には福来る😆この記事は月曜日の朝に書いたものです💦。

先日、Chromeの拡張機能でサイト内の文字をハイライトする一万円の案件を募集しておりました。この一万円の案件は妥当な金額なのかが“????”。例えば人工知能をゴリゴリと使えるスーパーエンジニアにとっては朝飯前の案件だと思いますが、見習いエンジニアにとっては難しい案件なのかもしれない。

この一万円という金額は人によって高くもなるし安くもなるかもしれないです。要するに見習いエンジニアが3日間かけて納品した場合とスーパーエンジニアがものの数秒で納品した場合を日本の平均時給で考えると一方は黒字でもう一方は赤字になる。

そう考えると今回の文字をハイライトするという案件は適正価格なのかもしれない。

因みにこの文字をハイライトするChromeの拡張機能はもう存在しており無料で公開されている。そう考えると一万円も貰えるというのはラッキーなのかも知れない。

尚、文字をハイライトするコードは下記により参照ください(デモページはこちら)。

let funs = {
    init: { htmlcode: document.getElementById("vals").innerHTML },
    highlight: function (e) {
        document.getElementById("vals").innerHTML = funs.init.htmlcode;
        if (!String(this.value).match(/[a-zA-Z]/) && this.value) {
            document.getElementById("vals").innerHTML = String(funs.init.htmlcode).replace(new RegExp(this.value, 'g'), '<span style="color:red">' + this.value + '</span>');
        }
    },
    inputevent:function(){
        document.getElementById("txt").addEventListener("input", this.highlight);
    }
};
funs.inputevent();

著者名  @taoka_toshiaki

※この記事は著者が40代前半に書いたものです.

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

OFUSEで応援を送る

タグ

a-zA-Z, addEventListener, document.getElementById, function, funs.init.htmlcode, getElementById, gt, highlight, htmlcode, init, innerHTML, inputevent, lt, match, quot, replace, string, this.highlight, this.value, 朝飯前,

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

著者名  @taoka_toshiaki

※この記事は著者が40代前半に書いたものです.

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

OFUSEで応援を送る

タグ

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

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

著者名  @taoka_toshiaki

※この記事は著者が40代前半に書いたものです.

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

OFUSEで応援を送る

タグ

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