dockerの勉強を始めた

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 と同様。

コメントを残す