8
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

EmbulkのDockerコンテナを作ってみる

Last updated at Posted at 2017-09-10

概要

下記の理由から、Embulkのdockerコンテナを作ってみたのでメモする。

  • Embulkを使う環境を簡単に用意したい
  • 他のメンバーでも設置を簡単にしたい
  • ホスト(Mac)は汚したくないので作って要らなくなったら削除できるDockerにしたい

コンテナを作る

Embulkがjavaのアプリケーションのため、
javaの公式コンテナをベースに構築を行うことにします。

まず、Dockerfileを定義する

Dockerfile
FROM java:8

# system update
RUN apt-get -y update && apt-get -y upgrade

# locale
RUN apt-get -y install locales && \
    localedef -f UTF-8 -i ja_JP ja_JP.UTF-8
ENV LANG ja_JP.UTF-8
ENV LANGUAGE ja_JP:ja
ENV LC_ALL ja_JP.UTF-8

# timezone (Asia/Tokyo)
ENV TZ JST-9

# etc
ENV TERM xterm

# tools
RUN apt-get install -y vim git zip unzip less wget

# embulk
RUN curl -o /usr/local/bin/embulk --create-dirs -L "http://dl.embulk.org/embulk-latest.jar" && \
    chmod +x /usr/local/bin/embulk

WORKDIR /root
ENTRYPOINT ["/bin/sh", "-c", "while true; do echo hello world; sleep 1; done"]

イメージをビルドしてコンテナを起動してみる

ターミナル
## イメージ作成
$ docker build -t my/embulk .

## コンテナ起動
$ docker run -d --name java my/embulk

## コンテナへ接続
$ docker exec -it java bash

## javaのバージョン確認
root@0cdf3c285356:~# java -version
openjdk version "1.8.0_111"

## embulkのバージョン確認
root@0cdf3c285356:~# embulk --version
Embulk v0.8.32

docker-hubに登録

DockerHubにAUTOMATED BUILDを使ってDockerfileとコンテナを登録する
https://hub.docker.com/r/reflet/docker-embulk/

docker-composeで上記コンテナを使ってみる

docker-compose.yml
version: '2'
services:
  embulk:
    image: reflet/docker-embulk
    container_name: embulk
ターミナル
$ docker-compose up -d
$ docker-compose ps

参考サイト

8
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?