Skip to content

Instantly share code, notes, and snippets.

@int128
Last active August 29, 2015 14:05
Show Gist options
  • Save int128/b46c978339e2d52b4af1 to your computer and use it in GitHub Desktop.
Save int128/b46c978339e2d52b4af1 to your computer and use it in GitHub Desktop.
log

Done

Updated CentOS base image (my:centos7)

https://github.com/int128/dockerfiles/blob/master/centos7/Dockerfile

% docker build my:centos7 .

% docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
my                  centos7             c70e14eeee41        2 hours ago         364.2 MB

nginx container (my:lb)

from my:centos7

run yum install -y nginx

add SOMECERT.crt /etc/nginx/SOMECERT.crt
add SOMECERT.key /etc/nginx/SOMECERT.key
add nginx.conf /etc/nginx/nginx.conf

volume /var/log/nginx
expose 443
cmd ["nginx"]
% docker build my:lb .

% docker run -p 443:443 -v /tmp/nginx:/var/log/nginx my:lb

nginx.conf

SNIが有効の場合は複数のwildcard certificateが使える。 知らないホストをreturn 444する場合はdefault_serverを付ける。

  server {
    listen              443 ssl default_server;
    server_name         _;
    ssl_certificate     https-wildcard.crt;
    ssl_certificate_key https-wildcard.key;
    return 444;
  }

  server {
    listen              443 ssl;
    server_name         www.example.org;
    ssl_certificate     https-wildcard.crt;
    ssl_certificate_key https-wildcard.key;
  }

  server {
    listen              443 ssl;
    server_name         www.some.example.org;
    ssl_certificate     https-wildcard-some.crt;
    ssl_certificate_key https-wildcard-some.key;
  }

TODO

  • 複数のコンテナを協調動作させる場合の方法
    • nginx - java - db
    • nginx - php - db
  • ログ管理

Problem

  • nginxとかmysqlとかjenkinsとか公式に提供されているが、みんなベースイメージが違うので使いまくるとディスク使用量が肥大化する。自分でベースイメージを定義してyumで付け足していくのがよさげ。
  • コンテナのプロセスにはfirewalldのポリシーが効かない。-p引数のルールが優先される。
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment