Dockerを使ってMac上にLAMP(Linux + Apache + MySQL + PHP)環境を構築する方法を解説します。 Dockerのインストールがまだの方はこちらをご覧ください。

I am trying to make sure that my app container does not run migrations / start until the db container is started and READY TO accept connections. So I decided to use the healthcheck and depends on option in docker compose file v2. In the app, I have the following app: ... depends_on: db: condition: service_healthy The db on the other hand has the following healthcheck db: ... healthcheck: test: TE
つい先日、我が家にM1 Macが届きました。 「Dockerまわりがつらいよ」という話は聞いていましたが、私もしっかりと MySQL のコンテナが立ち上がりませんでした。 軽くググっても「むむ・・・?🤔」と思う結果だったので、自分でしっかりまとめてみようと思います。 そもそもの問題 M1 Mac で Docker 公式の MySQL コンテナをそのまま使おうとすると、以下のエラーが出て使用できません。 ERROR: no matching manifest for linux/arm64/v8 in the manifest list entries これは雑に説明すると、「このコンテナは ARM64 に対応してないよ」ということです。 そして、 M1 チップは ARM64 アーキテクチャを採用しています。 解決する方法 色々と調べてみると、主に3つの方法があるようです。 arm64v8
2020年11月に発表されたMacBook Airから搭載されているM1チップというCPUがあります。こちらは従来のMacに搭載されていたCPUがx86/64の命令セットとは異なり、ARMアーキテクチャを採用しているという違いがあります。発売から1年以上たち、インテル製のCPUを搭載したMacがラインナップから無くなったので、次もしMacを購入するとなるとM1チップ搭載のMacを購入することになります。 今回は、その際に問題が起こりがちなDockerでの開発環境の構築について、紹介していきたいと思います。 DockerでMySQLを動かしてみる まずは、dockerコマンドでMySQLを指定して動かしてみようと思います。 % docker run -p 3307:3306 -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:latest Unable
Oracleの教科書でSQLを学んだ方なら、文字列を扱うならvarchar型を使うのはないでしょうか。しかし、MySQLでは、文字数を気にする必要のないtext型が利用できます。とはいえ、MySQLのtextには文字数の制限があり、長い文字列を扱う場合は注意が必要です。今回は、このようなMySQLのtext型の特徴について解説します。 文字列を格納する基本 データベースを利用する情報システムはたくさんありますが、そういったデータベースでは必ずのように文字列を格納しています。そして、文字列を扱うデータベースを作るには、MySQLならvarchar型とtext型が利用できます。まずは、この2つの文字列を扱うデータ型について解説します。 文字列を扱うならvarcharが基本 国際標準のSQLの規格では、文字列を扱うデータ型として、固定長のchar型、または、可変長varchar型が定義されていま
RDBMS に MySQL を採用したシステムで、VARCHAR の代わりに TEXT を頻用するプロジェクトがあった。そんなに昔の話ではない。つい最近作られたシステムだ。 VARCHAR も TEXT も可変長文字列を格納する型で、アプリケーションから見るとあまり違いがない。どちらも SQL で同じように扱える。しかし、こんな場合は VARCHAR を使うのが当然じゃないか。わざわざ TEXT を使う理由がない。そう思ったのだが、調べてみると意外に複雑な問題であった。 使う SQL はほとんど同じでも、VARCHAR と TEXT の MySQL 内部における扱いは、だいぶ異なる。InnoDB の場合は、長い VARCHAR は自動的に TEXT と同じように扱われる。MyISAM の場合、VARCHAR は行の中にインラインで保管されるが、TEXT は別オブジェクトとして格納される。従
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? mysql -u (ユーザー名) = 起動 mysql -u (ユーザー名) -p = パスワードを入力して起動 use (データベース名) = データベースを切り替えるコマンド set password for root@localhost=password('設定したいパスワード'); データの中身の確認 select * from (テーブル名) データベースを作る create database (データベース名); grant all on (データベース名).* to dbuser@localhost identified
一時期は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
開発環境をローカルPC上の仮想サーバに構築することが当たり前になってきた昨今、 環境構築をもっと効率良く、楽にしたいということで、遅ればせながらVagrant+chef-soloをいじり始めました。 なんとかそれっぽい開発環境が構築できたのでまとめておきます。 とにかく動く環境をまず作ってみる、Vagrant + chef-soloで開発できるイメージを持つ、ことを重視して作りました。 開発環境の概要 大体こんな感じの環境を作ります。 今回はFedora20上のVirtualBoxに仮想サーバを構築しています。 もちろんWindows上でもOSX上でも構築可能です。 ※Windowsの場合、以降で説明するコマンドと少し違った手順が必要になる可能性があります。 「PHP」となっている部分も、Rubyなど他の言語にも置き換えが効くと思いますが、 今回はPHPで構築しています。 ソースコードを共
普段、ローカルは Vagrant( VCCW )で開発を行っていて、WordPress の各ディレクトリ・ファイルは Vagrant の共有フォルダ機能があるので良い感じに別環境に複製したりテスト環境、本番環境にアップロードしたりできるのですが、データベースの内容はローカルと共有できず、Vagrant 環境の中にある形となるので、インポート、エクスポートがとっても面倒だなと思っていました。 ということで、Grunt から WordPress データベースのインポート、エクスポートが良い感じにできるようにしてみました。 実際どのような環境にしたのか 対象サイトの開発環境のルートで grunt とコマンドを打つだけで Vagrant の起動、sql ファイルが存在したらそれをインポート(無ければ無視)、grunt halt でデータベースのエクスポート、Vagrant の終了が行われるようにし
最近はソースコードからビルドしないと気が済まないお年頃ですが、なまけたました。 まあ、状況に応じたということで。 それなりに新しいMySQLがさっくり使えればよかったのでyumで入れることにしました。 [環境] CentOS release 5.7 (Final) x86_64 1.レポジトリの追加 rpm -ivh http://download.fedora.redhat.com/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-5.rpm2.インストール実行 yum --enablerepo=remi,eplp install mysql mysql-server /etc/init.d/mysqld start My
それでは,オープンソースのリレーショナルデータベース管理システム(DBMS)であるMySQLをインストールします. CentOSでは,MySQLのサーバ(デーモン)である「mysql-server」パッケージとMySQLのクライアントコンソールである「mysql」パッケージをインストールします. 01. 一般ユーザでログインしている場合は,suコマンドでrootになります(sudoで操作しても良いです). $ su - 02. yumコマンドで,mysqlとmysql-serverをインターネット経由でインストールします. # yum install mysql mysql-server ※依存するパッケージも合わせて5つほどダウンロードされます. 「Is this ok [y/N]:」と聞いてくるので「y」を入力してEnterキーを押します. ※「Complete!」と出ればOKです.
の続きとなります。 今回はgit、vim、PHP、MySQLをインストールしていきます。 前回、サラっと書いたのですが、PHPのインストールから。 Vagrant + CentOS PHPインストール 何はともあれ、 vagrant up でvargrantを起ち上げましょう。 コマンドはVagrantfileのある場所から。 vagrantが立ち上がりましたらsshで接続します。 sudo yum -y install php こちらのyumコマンドでインストールが出来ます。 Vagrant + git vimインストール 続けて、/home/vagrantに yumコマンドでgit vimをインストールしていきます。 その前にアップデートを。少々時間がかかります。 sudo yum -y update git sudo yum -y install vim git でgitと vimを
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く