[Docker] bind

$ sudo docker run -d –rm -p 8080:80 nginx:1.17.6-alpine
$ sudo docker container ls –format=’table {{.ID}}\t{{.Names}}\t{{.Ports}}’
$ sudo docker container port 09ee61149e2d
80/tcp -> 0.0.0.0:8080

Web系サービスを展開する場合、HTTPSの443とHTTP80が外部に公開される

コンテナ間の連携を行う場合は、bridgeではなく、作成したネットワークを利用する
作成したNATのネットワークが、内部のコンテナが他のコンテナを名前解決できる

### コンテナのログを設定
$ sudo docker container run –rm –name nginx -d nginx:1.17.6-alpine
$ sudo docker exec nginx cat /etc/nginx/nginx.conf
error_log /var/log/nginx/error.log warn;
access_log /var/log/nginx/access.log main;
エラー系のログが/var/log/nginx/error.logに書かれ、アクセスログが/var/log/nginx/access.logに書かれている

$ sudo docker exec nginx ls -l /var/log/nginx/error.log
lrwxrwxrwx 1 root root 11 Nov 20 2019 /var/log/nginx/error.log -> /dev/stderr
$ sudo docker exec nginx ls -l /var/log/nginx/access.log
lrwxrwxrwx 1 root root 11 Nov 20 2019 /var/log/nginx/access.log -> /dev/stdout

stderr, stdoutに出力されているのがわかります。

### bind
$ echo “hello bind” > hello1.txt
$ sudo docker run –rm -d –name bct \
–mount type=bind,source=/home/vagrant/dev/docker/book,target=/bindcont \
alpine:3.10.3 tail -f /dev/null
$ sudo docker exec bct ls /bindcont

$ sudo docker container exec bct touch /bindcont/hello2.txt
$ sudo docker stop bct
$ ls

readonlyにすることが多い

なるほど、標準出力、標準エラー出力はエイリアスが設定されてるんか…
標準出力は少し理解してきた