Intel MacでもM1 Macでも使えるDockerイメージを作りたい(awsのECRに登録編)
経緯 以前の記事では、Docker hubに登録するという方法をご紹介しました。 今回はawsのECRに登録するという手順の方を紹介してみようと思います。※この記事では、aws cliが使える状態まで来ている前提で書いていきます。以下の手順はDocker hub編と同じなので省略します。 Dockerfileを作成Dockerfileの中でmysqlをコンパイルする処理を書くコンパイルする部分以外は極力Docker hubで公式に配られているmysqlのDockerfileに寄せる 最後のプッシ ...
Intel MacでもM1 Macでも使えるDockerイメージを作りたい(Docker hubに登録編)
経緯 割とmysql:5.7系使い倒しているところ、まだまだ多いですよね。そして、そろそろ仕事用の端末としてM1 Macも普及し始めてますよね。みなさん、M1 Mac上でMySQL立ち上げる時、どうしてますか?公式だとarm対応はない。MySQL v8系だと、mysql:8ではなく、mysql-server:8とか、別の回避策が無いわけではないけれどv5.7系だとちょっと回避が難しい。そして、完全に全員M1 Macに切り替えられるのであれば、取れる回避策もあるけれどIntel Macとの共存もし ...
MacでDockerが遅いとお嘆きの人たちへ
MacでDocker Desktopを使用して日々作業をする場合に どうしても、Mac上で直接操作するのよりもDockerで操作する時に遅くなってしまいます。 DockerからMacのファイルシステムにアクセスする時に特に遅くなってしまいます。 (今回の記事の対象者として「macでDockerを使ってコードを書いたりしている人」と仮定してます。) そこで、MacでDockerを早くする方法、 それはずばり、Docker Desktopを使わない。 という事になります。 え!?どーいうこと? とな ...
Dockerお掃除大作戦
こんにちは。gendosuです。 今回は前回のDocker関連ネタから少し時間もたち、Dockerも進化を続けているのでここ最近のDocker事情、MacbookのSSD圧迫問題を再度取り上げてみます。 相変わらずDockerをしばらく使っていると不要なイメージやコンテナがたまってしまいますね。 今回はこれらを「なるべく安全」にお掃除する手順を考えたいと思います。 まずは、何を掃除したら良いのか、と言う情報の出し方 docker system df コマンド $ docker help syst ...
Ruby on Rails 5.1 用のDockerのベースイメージを作った
Ruby on Rails 5.1からは、Rubyだけではなく、webpackerとか使う場合にはnpm環境も必要となる。 毎回自前でDockerfileでnpm環境をインストールするのも時間がかかるので、その辺をひとまとめにしたDockerイメージを作りました。 使い方は Rails5.1のプロジェクトに Dockerfileを以下のように作成 # 本体 # # VERSION 0.0.1 FROM gendosu/ruby-for-rails-51:2.3 MAINTAINER Gen Ta ...
herokuのコマンドラインツールをdockerイメージにした
herokuのコマンドラインツールをDockerイメージにしてみました。 理由は、色々なherokuのアカウント(プライベートだったり仕事用だったり)を切り替えるのがめんどくさいので、各環境ごとにDockerのコンテナ内にログイン情報を持たせようと思ってやってみました。 hub.docker.comにアップしてあるので docker run --rm -v `pwd`:/app gendosu/heroku-cli heroku apps でという感じで実行出来る。
gooseをdockerイメージにした話
gooseというgoで書かれたDBマイグレーションツールがあり、これだけを含んだDockerイメージを作った。 hub.docker.comにアップしてあるので run --rm -v `pwd`:/go gendosu/goose goose create example でという感じで実行出来る。
これで解決!Docker for macのディスク容量を小さくしよう(ベータ)
先日、Docker for macでDocker.qcow2というファイルが肥大化する件というのを書かせていただきましたが、こちらの件、Docker for macの最新版ベータにて、ある程度自動で解消されるような処理がマージされたようです。 New Data Management commands #26108 Docker for mac のベータチャンネルにも降ってきましたので、試してみました。 今回ベータチャンネルで降ってきた内容は多いのですが、その中でReclaim disk size ...
そろそろ、自分のdocker-compose.yml周りを公開
docker便利ですね。 最近そんなことばかりしか言ってない気がします。 自分がdockerを使い始めた頃は、dockerってなんなのかわからない人が多く 話すと便利そうだけどプロダクションで使う想像がつかないとか 環境がめんど臭いとか 色々言われていました。 今現在は、開発環境として使うのであれば docker for macというのがあって、これ入れるだけでかなり簡単にdockerが試せるようになりました。 環境を作るのが簡単になったのであれば、使えるdockerfileとかdocker-c ...
Docker for macで仮想ディスクの保存場所が変えられるようになる
Docker for macのベータ版でですが、Docker for macのVMの仮想ディスクの場所を変えられるようになるようです。
Docker for macでDocker.qcow2というファイルが肥大化する件
Docker便利ですね。 Docker for macが出てからは、もうmac上には環境を作らない なんて運用も可能じゃないかというくらいです。 実際、サーバサイド系の環境はほぼ全てDockerで運用してます。 gulpとかでブラウザのオートリロードとかしたい場合は さすがに難しいので、そこはmac上に環境を作っておりますが。 ということで、ハードにDocker for macを使っていくと ディスク容量が日々減っていくのが実感出来るかと思います。 これは、Docker for macも実体はV ...
Docker for Mac bata(1.12)とpowが共存出来ない
Docker for Mac bataがリリースされ、早速インストールしてみました。 アプリケーションディレクトリに入れて、このアイコンをダブルクリックするだけで Dockerの環境が自動的に構築されるようです。 メニューバーにはDockerのアイコンが表示されるようになります。 1.11以前にDocker ToolboxでDockerを使っていた場合、この初回の起動時に 既存環境を新しい環境で使えるように変換が行われます。(yesにした場合) 今回は、全く新しい環境にインストールをしているので ...
Windows 10 Insider PreviewをONにしてみた
最近、MacとWindowsの両方で似たような環境を作って作業することが多くなった訳ですが、どうもMacと比べると色々とWindowsの場合は開発環境といった面では劣る部分が多いというのを改めて感じました。 ただこれ、Windows10は開発用途以外の場合、結構使いやすいOSだと思っています。 自分の場合はノートPCでタッチ画面付きのものなので、マウスが無くても、サッと画面をタッチできたりして便利です。 ブラウジング用途でも手でスクロール出来る&拡大縮小が出来るというのは使ってみるとかなり便利な ...
Dockerfileを作っている最中にデバッグするときの基本的な手順
Dockerfileを作っている最中に動作確認中に途中で落ちてしまって、その状態でイメージの中身を確認したい時とかが多々あるかと思いますが 今回はそんなやり方、定番かもしれないですが書いてみようと思います。 まずは適当なDockerfileを作ってビルドします。 docker build --rm -t building . このビルド時にエラーが出てイメージの作成が止まったという想定です。 docker buildで失敗すると・・・ docker imagesには というイメージが出来ています ...
開発サイクルをブースト!するかもしれない。Dokku触ってみた(初期編)
開発環境って、一度作るとあとはそれほどいじらないのでいいんですが 適当に作ったけど適当に社内で公開したい場合にお気軽にデプロイしたい。 Capistrano使ったりするのもいいんだけど...。 それに、小さめのツール類が多いんだけど、毎回nginx立ててポート変えてとかconfでゴニョゴニョして公開するの、面倒。 サクッとデプロイしたら即公開みたいな環境ないかなー。herokuみたいな。 と思って探したらdokkuというのがあったので、触ってみました。 dokkuとは OSSのherokuライク ...
Dockerを使っていく上で避けて通れないChef,ansibleとの付き合い方
こんにちは。 最近はローカルの開発環境も、ほとんどDockerに移行した感じです。 そこで、本番も見据えたDockerという事で気になることの一つ 構成管理ツール chef、ansibleなどなどとの兼ね合い、どうするかな? と言ったところ考えてみようと思います。 Dockerはコンテナ作成・管理ツールという性質上、コンテナ内部のパッケージやアプリの配備などをDockerfileで行う仕組みになっています。 ということは、端的に言ってしまうとchef、ansibleなどがなくてもコンテナを作れて ...
Dockerをmacで使うのが簡単になった
ここ最近のDockerの進化が早くて日々楽しいです。 で、つい先日、macでDockerを使うのが簡単になるツールが出ました。 Docker Toolbox これは、Dockerを使う上で必要なツールをまとめたインストーラになっています。 VirtualBoxも同時にインストールされます。 すでに入っていれば、上記のようにグレイアウトになります。 これは、以前Boot2Dockerで使われていたインストーラと同じ物のような感じで それに加えて Docker Machine Dock ...
ローカルで環境ごとの仮想マシンを起動してるときにWARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!が出る場合の対処方法
$ ssh hoge@192.168.1.10 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY! ...
gendosu流、dockerの使い方(Docker composeを使う)
dockerを開発環境で使うに当たって 前回「gendosu流、dockerの使い方」という内容を書きました。 その内容だと、 通常Dockerコンテナを手動で起動するには まず、Dockerfileを作って自分好みにイメージを作成 作成したイメージからdocker runコマンドでコンテナ起動 たとえば、memcachedとmysqlとredisを使った一通りの構成を手動で起動しようとした場合 それぞれにイメージ作成やdocker run(start)をして起動していかないといけないです。 コ ...
gendosu流、dockerの使い方
以前よりローカルでの仮想環境の生成・破棄は容易になったような気がしますが Vagrantでは、インスタンスの生成、破棄のコストが高い気がするので そこのところをDockerを使ってやってみるようにしてみました。 まずは、ベースになるマシンとしてUbuntu Server 14.10 64bitの仮想マシンを立ち上げます。 これは、VagrantでもVMwareでも問題ないです。 今後、頻繁にアクセスすることになるので、vmのIPをhostsに登録してしまいます。 hostsには 192.168. ...