1
0
hugo/content/blog/2016-12-29-docker-blog.md
2024-04-23 22:21:26 +09:00

62 lines
2.0 KiB
Markdown

+++
date = "2016-12-29"
tags = ["memo"]
title = "docker-blog"
slug = "docker-blog"
+++
こんな感じで構築してるけど、アンチパターンぽい。
```bash
FROM archlinuxjp/archlinux:start
RUN mkdir -p /root/.ssh
RUN mkdir -p /root/bin
ADD .zshrc /root
ADD bin/script /root/bin
ADD .ssh/config /root/.ssh
ADD .ssh/id_rsa /root/.ssh
RUN chmod 700 /root/.ssh/id_rsa
RUN /bin/cp -f /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
RUN pacman -Syu --noconfirm
RUN pacman -Scc --noconfirm
RUN pacman -S base-devel git zsh openssh --noconfirm
RUN pacman -S curl nodejs npm which --noconfirm
RUN npm i gulp -g
CMD /bin/zsh
RUN git config --global user.email "$USER@users.noreply.github.com"
RUN git config --global user.name "$USER"
ENV PATH $PATH:/root/bin
RUN git clone $HOST/$USER/$REPO.git
RUN which script
```
`.ssh/config`はこんな感じで。
```bash
Host gitlab.com
RSAAuthentication yes
IdentityFile ~/.ssh/id_rsa
User syui
TCPKeepAlive yes
identitiesonly yes
StrictHostKeyChecking no
```
特に、SSH Keyが良くなくて、本来なら`ENV GITHUB_TOKEN XXXXXXX`としてから`git clone,push ${GITHUB_TOKEN}@github.com/$USER/$REPO`などとすべきなんだけど、GitLabのACCESS_TOKENの使い方がよくわからんということで。
なぜダメなのかというと、一つはDocker Hubでプライベートにしててもアクセスがコントロールできてなくて危険だから。
SSHとACCESS TOKENでの違いはアクセス制限というか、そういったコントロールが可能で、ACCESS TOKENでのアクセスのほうがより安全。
ただ、Docker HubにAccess Tokenを置くこと自体危険だとも言えるのだけど、正直、このような全部の処理を外部サービスに任せる開発フローではどうしても危険性が増えてしまう気がする。
個人的にはDocker Hubには二段階認証及び、Access Tokenの発行ができるようになればより安心して使える気がする。