きゃっとぐるーぶ

忘れてもいいようにメモを取っても、メモを取ったことを忘れる男の備忘録

覚えたてのDockerでsquidを動かしてみた

明日から「令和」元年ですね。もうすぐ平成の御代が終わろうとしてるなか、私はパソコンに向かいDockerのお勉強をしています。

幼いときに先帝の崩御に接し、テレビがそれ一色だったのをよく覚えています。テレビっ子だったもので・・w

譲位による御代替わりは200年ぶりだそうですね。ちなみに、むかし元号は大きな災害があったときなどに改められたこともあるそうです。

さて、先日DockerでJupyterのコンテナを作って動かせることを知った。実際に試してみたらデータの永続化も出来るし、なによりホスト環境を汚さなくていい。Pythonの勉強道具にもってこい。

ついでにDockerのお勉強してみます。

# docker のインストール
$ pacman -S docker
# ユーザーをグループに追加
$ sudo gpasswd -a foo docker
# PC起動時に動くように
$ sudo systemctl start docker
$ sudo systemctl enable docker
# alpine linuxイメージをDL
$ docker pull alpine

squidを動かしたいのでdockerfileを書いた。 ただ動かすだけではつまらないので広告ブロックをsquidにやらせます。

FROM alpine
LABEL maintainer="okazu<sample@example.com>"

RUN apk add squid
RUN apk add bash
RUN apk add vim

COPY squid.conf /etc/squid/squid.conf
COPY blocklist.conf /etc/squid/blocklist.conf

EXPOSE 3128

ビルド

$ docker build -t squid/alpine .

コンテナの起動

$ docker run --rm -d --name 'mysquid' -p 3128:3128 -it squid/alpine bash

squidを起動

$ docker exec mysquid squid

squidの起動をコンテナ起動時に行いたかったがうまくいかなかった。そのためexecで起動してる。まぁひとつオプションを覚えられたのでよしとする。

Dockerのネットワーク関係がよくわからない。 -p 8888:8888でリダイレクトできるのはわかったけど、ローカルネットワークないのマシンからコンテナに直接アクセスできるのかな?徐々にやってみますかね。

Dockerで基本的なData Science環境(Jupyter, Python, R, Julia, 定番ライブラリ)を構築する。 - Qiita

Docker コマンドチートシート - Qiita

プログラマのためのDocker教科書 第2版 インフラの基礎知識&コードによる環境構築の自動化

プログラマのためのDocker教科書 第2版 インフラの基礎知識&コードによる環境構築の自動化