【意識低い系】 Dockerと本気で向き合いたくない

macOS で 「BSDぃ? うるせぇ、GNUのコマンド打たせろゴラァ!!1」 となって発狂しそうな時用。

DockerでミニマムなCentOS7的コンテナ作ると速い安い旨い。

公式のDockerイメージ は、デフォルトだとsystemdが動かないらしいので、あくまで”もどき”。

systemdは頑張って一手間加えれば動くらしい。

Dockerfile

FROM centos:7

# system update
RUN yum -y update

# set locale
RUN yum reinstall -y glibc-common

RUN 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

# set timezone
RUN unlink /etc/localtime
RUN ln -s /usr/share/zoneinfo/Japan /etc/localtime

# install repos
RUN yum -y install epel-release
RUN rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm

# basic packages
RUN yum install -y vim wget git curl sudo tmux man man-pages man-pages-ja mailx bash-completion expect
RUN yum install -y net-tools bind-utils chrony iptables-services sysstat 
RUN yum -y --enablerepo=epel install rpmrebuild hping3 htop

# trivial tweak
RUN echo 'export PS1="\\[\\033[1;32m\\][\\u@\\h \\W]\\\\$\\[\\033[0m\\] "' > /etc/profile.d/testenv.sh

# pip
RUN wget https://bootstrap.pypa.io/get-pip.py
RUN python get-pip.py

CMD ["/bin/bash"]

docker run -it --rm -v .... なんて覚える脳みその容量が無い時用の Makefile
(どっかから拾ってきたやつを改造)

IMG_NAME=local_centos
CONT_NAME=mycentos
VERSION=7

start: rm run

build:
    docker build --rm -t $(IMG_NAME):$(VERSION) .

run:
    docker run -it \
        -v `pwd`:/data \
        --name $(CONT_NAME) \
        $(IMG_NAME):$(VERSION) bash

rm:
    docker rm -f $(CONT_NAME)

attach:
    docker exec -it $(CONT_NAME) /bin/bash

logs:
    docker logs $(CONT_NAME)

stopa:
    docker stop `docker ps -a -q`

contener=`docker ps -a -q`
image=`docker images | awk '/^<none>/ { print $$3 }'`

clean: rma rmia

rma:
    @if [ "$(contener)" != "" ] ; then \
            docker rm $(contener); \
        fi
rmia:
    @if [ "$(image)" != "" ] ; then \
            docker rmi $(image); \
        fi

hiraro/minimum_oreore_centos7_docker