1 最初の1歩
1.1 alpine だけを起動した
# イメージを取得する
sudo docker pull alpine:latest
# alpine を取得できたことを確認
sudo docker images -a
# コンテナを作成 & 起動
sudo docker run -it -d --name alpine alpine:latest
# 起動できたことを確認
sudo docker ps -a
# シェルを起動
sudo docker exec -it alpine /bin/sh
巻き戻し
# alpine のシェルから抜ける
exit
# コンテナを停止
sudo docker stop alpine
# コンテナを削除
sudo docker rm alpine
# イメージを削除
sudo docker rmi alpine
2 unbound の Dockerfile の作成
2.1 インストールするだけ
FROM alpine:latest
RUN apk update && apk add --no-cache unbound
# Build
sudo docker build -t soora:unbound_alpine_latest .
# イメージができていることを確認
sudo docker images -a
巻き戻し
sudo docker rmi soora:unbound_alpine_latest
2.2 コンテナ作成 (1.1と同じ)
# 作成
sudo docker run -it -d --name unbound soora:unbound_alpine_latest
# 確認
sudo docker ps -a
あとで読む
https://qiita.com/ohhara_shiojiri/items/497aaba989151fa84b3d
3 docker-compose
3.1 起動
version: '3'
services:
unbound:
image: soora:unbound_alpine_latest
container_name: unbound
hostname: unbound
ports:
- "8653:53"
volumes:
- ./conf:/etc/unbound
networks: []
tty: true
ttyとは? https://zenn.dev/hohner/articles/43a0da20181d34
sudo docker-compose up -d
巻き戻し
sudo docker-compose down
4 MySQL
MySQLをIPアドレスを固定し単体で起動することで、通常のサーバと同様に利用できるようにする。
4.1 前準備
version: '3'
services:
mysql:
image: mysql:latest
container_name: mysql
user: 112:117
environment:
MYSQL_ROOT_PASSWORD: temp_password
volumes:
- ./data:/var/lib/mysql
- ./my.cnf:/etc/mysql/conf.d/my.cnf
expose:
- 3306
networks:
mysql:
ipv4_address: 172.18.0.2
networks:
mysql:
driver: bridge
name: mysql
ipam:
driver: default
config:
- subnet: 172.18.0.0/24
[client]
port=3306
default-character-set=utf8mb4
[mysqld]
port=3306
character-set-server=utf8mb4
collation-server=utf8mb4_general_ci
注意事項
・ここで user の 112:117 は両方 mysql である。
・docker-compose.yml ではパスワードを直接入力することから、権限を600または400とする。
・以上の2つのファイルは同じ階層に置き、そこに data ディレクトリを新たに作成する。所有者は mysql:mysql としておく。
4.2 起動および巻き戻し
3.1 と同様。