docker

Travis CIでdockerのバージョンを最新にする

Travis CIでDockerfileをテストする等、dockerを使用したい場合、以下の様に.travis.ymlに記述することでdockerを有効にすることできます。 sudo: required service: - docker が、その際のdockerのバージョンは17.03.1[1]と、最新版ではありません。 特に問題なのが、multi-stage buildは17.05からの機能であるということです。 Travis CIで使用できるdockerでは、multi-stage

Travis CIでdockerのバージョンを最新にする
Read more...

docker-machineでRancherOSを使う

docker-machineとそのメリット docker-machineは仮想マシン上にDocker Engineをインストールするツールです。 docker-machineコマンドを使用することで、Dockerホストを作成・管理することが可能です。 docker-machineを使用してDockerホストを作成すると、 $ docker-machine env <MACHINE_NAME> でシェル評価可能なDocker接続情報を得ることができ、 $ eval $(docker-machine env <MACHINE_NAME>) とすることにより、そのセッション内ではあたかもローカル環境のDockerの様にコンテナを操作することが可能となります。 docker-machineで使用するOS 扨、

docker-machineでRancherOSを使う
Read more...

Docker multi-stage builds

Docker 17.05から、新機能としてmulti-stage buildsというものが導入されました。 これは、コンテナイメージをより最適化するために有用な機能で、Dockerfileからコンテナイメージをビルドする際にビルド依存のライブラリ/環境とランタイム依存のライブラリ/環境を切り分けることができる機能です。 具体例を見てみましょう。 Go言語で書かれた何らかのアプリケーションをコンテナ上で動かすことを考えます。 以前までであれば、以下のような二つのDockerfileを用いて作成します。 まずはビルド用Dockerfileです FROM golang:1.7.3 WORKDIR /go/src/github.com/

Docker multi-stage builds
Read more...

MySQL on docker macな開発環境でローカルからMySQLに接続する

MySQLをdocker上に立てることで、ローカルの環境を汚さずにMySQLを使ったアプリケーションの開発を行うことができます。 特に、練習段階や、動作確認などの場合、 test_hogehoge な感じのデータベースやテーブルを作ってしまい、後片付けをしないために汚くなっていく、なんてこと、あるんじゃないでしょうか。 さて、MySQL on dockerへの接続、今までローカルにMySQLを入れて開発していたのでちょっと躓きました。 $ docker run -d -p 3306:3306 -e MYSQL_ROOT_

MySQL on docker macな開発環境でローカルからMySQLに接続する
Read more...
Load more