Awesome Blogは、ITエンジニアに関する技術情報から働き方に関する記事まで多彩なトピックを紹介するメディアです。
概要 Docker-composeでSinatra + Nginx + MySQL を動かす時のハマりポイント - Qiitaのプログラムをdocker-composeで動かしていた時に🍣=🍺問題やハハ=パパ問題に遭遇しました。 その際、対処のためにmysqlの文字コードの設定を変えたかったのですが、結構ハマったのでメモです。 🍣=🍺問題?ハハ=パパ問題? 以下が参考になります。 MySQL と寿司ビール問題 - かみぽわーる MySQL で utf8 と utf8mb4 の混在で起きること - @tmtms のメモ 解決策としては文字コードは基本的にutf8mb4を使って、mysqlの設定でcollation-server=utf8mb4_binとすればよさそう。 docker-composeでmysqlの設定を変えるときの注意点 docker-composeにはサービスごとにc
データベースの勉強をしている。 クエリを書く練習をしたりするにはやはり実際に動いている環境がほしい。 ただ、ローカルの開発用のデータベースとは別でやりたいとか、使い捨ての環境が欲しくなるときがある。 そんなときはDockerを利用することで使い捨ての環境を用意できる。 TL;DR MySQLコンテナーをポート割り当てして起動する 初期化データを投入したいときは/docker-entrypoint-initdb.dにデータをマウントしておく。 なお、ここではDocker自体の説明はしない。 また、初期化データの投入だけ知りたい場合は以下のページが詳しいのでそちらを見ることをおすすめする。 事前にデータ投入をした MySQL Docker イメージを作る場合は /docker-entrypoint-initdb.d を活用すると便利 https://kakakakakku.hatenablog
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 概要 自身の備忘のために、以下の「Environment Variables」部分の和訳です。 MySQLの公式イメージ on DockerHub 本記事の最終更新時点での公開バージョンは以下の通りです。 8.0.19, 8.0, 8, latest 5.7.29, 5.7, 5 5.6.47, 5.6 環境変数 mysqlイメージを起動する際に、docker runコマンドにおいて 1個かそれ以上の環境変数を渡すことで、MySQLインスタンスの設定を調整できます。 既にデータベースを含んでいるデータディレクトリを利用してコンテナを起動
MAMP Proが動かなくなったのでこれを機会にdocker-compose で環境構築してみました。動作確認したのはMacのみです。 どうしてもphp5.6でないと動かないCMS案件(baserCMS3系)だったので、リライトやGDのインストールもやってみました。 (一応 php7.1も動かせます) githubのデータはこちら → Garyuten/dockker-lamp-php5.6 この環境が向いてる人 PHP5.6など古めホスティングサーバー案件の環境を作らないといけない人 Apacheのリライトの設定やGDのインストールなどを後からコマンドでやりたくない人 ホスティングサーバーっぽい構成のLAMP(apache,php,mysql)環境が欲しい人 この記事で構築される環境 Apache mod_rewrite GD php 5.6.28 or php 7.1 MySql 5.
この記事は12/1のDocker2 Advent Calendar, 12/3のHamee Advent Calendarの記事です。 こんにちは。 docker composeめちゃくちゃ便利ですよね。 Chef, Vagrant, Puppet, Ansible, Fabric…とプロビジョニングツールとか仮想化ツールを色々触ってきましたが、 それらよりずば抜けて扱いやすいと思っているツールです。 で、ローカルで開発している時に困るのが、 MySQLをはじめDBにデータを持ってもコンテナを破棄するとデータがすっ飛ぶ 問題です。 軽量なアプリの場合ならDB破棄してシード流して、、、という構成でもイケるかも知れませんが、多くの場合オーバーヘッドが大きすぎてまともに開発できなくなると思います。 Docker for Macを使用している場合はこの問題は難なく解消できるのですが、 docker
TL;DR DockerでRailsとDBのコンテナを作成しWebアプリケーションを作成してたところ ブラウザ上では日本語が文字化けしないがdbコンテナの中に入ってmysqlにログインすると ???? に文字化けしている現象に遭遇した。 対象読者 or 前提条件 or 環境 DockerでMySQLコンテナを使用するマルチバイトなひと まずは調査 「Docker mysql 文字化け」でぐぐってみるとどうやら character_set_server=utf8 でないと発生するという記事が大量にヒットする。 Docker公式イメージのMySQLで文字コードを指定するのエントリを参考に過去にdocker-compose.ymlには対応を実装していたのでどうやらこれが問題ではなかった。 そもそもなにが原因で文字化けしてるのかがわからなかったので調べてみた。 $ mysql mysql> sta
version: '2' services: db: image: mysql:5.5 volumes: - data:/var/lib/mysql environment: MYSQL_ROOT_PASSWORD: 'password' ports: - 3306 cache: image: memcached:1.4 ports: - 11211 rails: build: . command: bundle exec rails s -p 3000 -b '0.0.0.0' volumes: - .:/opt/rails ports: - "3000:3000" environment: RAILS_ENV: local DATABASE_URL: mysql2://root:password@db:3306 CACHE_SERVER: cache:11211 links: - db
DockerのOfficial RepositoriesのMySQLを使って、初回のDBデータ作成時に、カスタムSQLを実行する。 MySQLイメージは起動時にMySQLデータディレクトリ(/var/lib/mysql)の中身がない場合、mysql_install_dbなどが実行されます。その処理の中で、 /docker-entrypoint-initdb.dディレクトリにシェルスクリプトや、SQLが存在する場合、それを実行してくれる仕組みがあります。 サンプル サンプルとして、Docker Composeを使って、PHPMyAdminとMySQLサーバを構築してみます。 その際、初回起動時に2つのデータベースと1つのテーブルを作成します。 うち1つは環境変数MYSQL_DATABASEをセットすることによって自動的に作成されるデータベース、それ以外がdocker-entrypoint-i
version: '2' services: db: image: mysql environment: MYSQL_DATABASE: first_database MYSQL_USER: username MYSQL_PASSWORD: secret MYSQL_ROOT_PASSWORD: password ports: - "3306:3306" volumes: - db-data:/var/lib/mysql volumes: db-data: driver: local この段階で first_database というDBは1つ作られてますが、 同じコンテナの中に second_database というDBを作りつつ、 first_database と second_database それぞれにダンプを投げつけたい、 というのが今回の目的になります。 DockerのMySQL
一時期はalpineに乗っかったMySQLを使おうとしましたがMariaDBだったので断念。 いくら互換だとはいえ、まだ自分には早い。 そんなわけでDocker MySQL公式イメージの5.5を利用してDBを構築。 公式イメージ https://hub.docker.com/_/mysql/ 初期データを投入した状態でgithubにpushしようとしたら、rejectされてしまいました。 調べてみるとGithubのファイルサイズ制限にひっかかった模様 Working with large files https://help.github.com/articles/working-with-large-files/ 1ファイルあたり100MBまでとのこと。 InnoDBのibdata1がサイズ制限を超過していたのでした。かなりデータを厳選したんだけどな〜。 初期データインポートに使用したd
Vagrantに関する記事の執筆当初はVagrant+Ansible+Dockerを組み合わせて最強の開発環境を作る事をゴールにしていました。 既にDocker for WindowsやDocker for Macが正式版になって既に半年が経過しています。 もうVagrant+Ansibleに残っているメリットはクラウドマシンの操作と複数環境を立ち上げるくらいしか残っていません。 特殊な用途でVagrantを活用するケース以外、Dockerのみで開発環境を構築していくスタイルが主流になることでしょう。 よって、次の章からはDocker for WindowsとDocker for Macをベースにすすめていきます。 まずはDocker for Windows、もしくはDocker for Macを公式サイトからダウンロードしてインストールしましょう。 インストールが完了したら、ターミナルエ
米オラクルは2017年4月19日(米国時間)、米Dockerと提携し、Docker Certification Programを通じたソフトウェアマーケットプレース「Docker Store」で、自社の主力データベース、ミドルウェア、開発者ツールをDockerコンテナとして提供すると発表した。 Docker Certification Programは、Dockerのパートナーが技術をDocker EEプラットフォームに統合し、動作を保証するためのフレームワーク。Docker Storeではまず、「Oracle Database」「MySQL」「Oracle Java 8 SE Runtime Environment」「Oracle WebLogic Server」「Oracle Coherence」「Oracle Instant Client」がエンタープライズ対応Dockerコンテナと
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く