วันนี้เราจะเรียนรู้การใช้ dockerfile สร้าง image ชื่อ openldap เพื่อใช้เป็น LDAP database ผมทดสอบด้วย Oracle VM VirtualBox เป็น VM ที่ตั้งค่า Network adapter เป็นแบบ NAT network ที่ติดตั้ง Ubuntu 16.04 และ docker เรียบร้อยแล้ว ในตัวอย่างนี้ผมตั้งชื่อ host ว่า ldap.example.com โดยแก้ไขที่ไฟล์ /etc/hosts และ /etc/hostname ให้เรียบร้อย แล้วรีบูตเครื่องด้วย ผมจะขอแยกขั้นตอนออกเป็น 3 ขั้นตอนหลัก คือ 1.ขั้นตอนเตรียมไฟล์ที่เกี่ยวข้องซึ่งรวมไฟล์ ldif ด้วย 2.ขั้นตอนสร้างไฟล์ dockerfile และ 3.ขั้นตอนการรัน container 1.ขั้นตอนเตรียมไฟล์ที่เกี่ยวข้อง สร้างไดเรกทอรีของ image ที่เราจะสร้าง $ mkdir openldap สร้างไดเรกทอรีที่เก็บไฟล์ ldif (โครงสร้าง และ ตัวอย่างข้อมูล) $ cd openldap $ mkdir src สร้างไฟล์ ./src/create-schema.ldif ด้วยเอติเตอร์ที่ถนัด เช่น vi หรือ nano ก็ได้ $ vi ./src/create-schema.ldif # Starter kit for create user in domain dc=example,dc=com # Create 1st tree OU=groups dn: ou=groups,dc=example,dc=com objectClass: organizationalUnit ou: groups # Create sub tree OU=execs,OU=groups dn: ou=execs,ou=groups,dc=example,dc=com objectClass: organizationalUnit ou: execs # Create sub tree OU=staffs,OU=groups dn: ou=staffs,ou=groups,dc=example,dc=com objectClass: organizationalUnit ou: staffs # Create sub tree OU=students,OU=groups dn: ou=students,ou=groups,dc=example,dc=com objectClass: organizationalUnit ou: students # Create 2nd tree OU=people dn: ou=people,dc=example,dc=com objectClass: organizationalUnit ou: people สร้างไฟล์ ssl.ldif $ vi src/ssl.ldif dn: cn=config changetype: modify add: olcTLSCipherSuite olcTLSCipherSuite: NORMAL – add: olcTLSCRLCheck olcTLSCRLCheck: none – add: olcTLSVerifyClient olcTLSVerifyClient: never – add: olcTLSCertificateFile olcTLSCertificateFile: /etc/ssl/certs/ldap-ca-cert.pem – add: olcTLSCertificateKeyFile olcTLSCertificateKeyFile: /etc/ssl/private/ldap-ca-key.pem สร้างไฟล์ ./src/create-users.ldif $ vi ./src/create-users.ldif # Create 1 user in tree OU=execs,OU=groups dn: cn=nana,ou=execs,ou=groups,dc=example,dc=com objectClass: inetOrgPerson uid: nana sn: Na givenName: Na cn: nana