ในบทความนี้จะนำเสนอการใช้งาน Docker ที่จะมาช่วยในการติดตั้ง Nextcloud (Cloud Storage Software) ให้ง่ายขึ้นและขั้นตอนที่น้อยลงกว่าติดตั้ง Nextcloud แบบปกติ
Nextcloud เป็นโปรแกรมจัดเก็บไฟล์ การใช้งานคล้ายๆ Google drive สามารถใช้งานได้หลาย Platform ทั้งใน Web , PC , Mobile และที่สำคัญเป็น Open source นั้นเอง
Install Docker
วิธีการติดตั้ง Docker บน CentOS7 , Debian , Ubuntu
Create Network Docker
ขั้นตอนนี้เราจะมาสร้าง Network ให้ Container เชื่อมต่อกันเฉพาะระบบ Nextcloud โดยใช้คำสั่ง
docker network create [name network]#Example [root@localhost ~]# docker network create nextcloud 1bf2deb70266737795fd5b1ba412517f5c48ff251420ea8baef71d51252a44fd
สามารถตรวจสอบรายละเอียด Network ที่เราสร้างขึ้นมาได้ โดยใช้คำสั่ง
[root@localhost ~]# docker network inspect nextcloud [ { "Name": "nextcloud", "Id": "1bf2deb70266737795fd5b1ba412517f5c48ff251420ea8baef71d51252a44fd", "Created": "2020-07-24T16:12:58.838843134+07:00", "Scope": "local", "Driver": "bridge", "EnableIPv6": false, "IPAM": { "Driver": "default", "Options": {}, "Config": [ { "Subnet": "172.18.0.0/16", "Gateway": "172.18.0.1" } ] }, "Internal": false, "Attachable": false, "Ingress": false, "ConfigFrom": { "Network": "" }, "ConfigOnly": false, "Containers": {}, "Options": {}, "Labels": {} } ]
Create Mariadb Container
ขั้นตอนนี้เราจะมาสร้าง Database โดยใช้ Mariadb เราสามารถเข้าไปดูคำสั่ง และ Environment เพื่อจะมาสร้างได้ที่ Docker Hub Mariadb
docker run --name some-name --network=some-network \ -e MYSQL_ROOT_PASSWORD=my-secret-pw \ -e MYSQL_DATABASE=my-name-db \ -e MYSQL_USER=my-name-user \ -e MYSQL_PASSWORD=my-secret-pw \ -d mariadb#Example docker run --name mariadb --network=nextcloud \ -e MYSQL_ROOT_PASSWORD=k2bIGFwEtJ48 \ -e MYSQL_DATABASE=nextcloud \ -e MYSQL_USER=nextcloud \ -e MYSQL_PASSWORD=fJELha5FNY42 \ -d mariadb
สามารถตรวจสอบ container ที่สร้างมาว่า up หรือ ไม่โดยใช้คำสั่ง docker ps
[root@localhost ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES ff9bc1e38d9a mariadb "docker-entrypoint.s…" 4 seconds ago Up 3 seconds 3306/tcp mariadb
Create Nextcloud Container
ขั้นตอนนี้เราจะสร้าง Nextcloud ขึ้นมาและเชื่อมต่อไปยัง Mariadb ที่สร้างขึ้นมาก่อนหน้า เราสามารถเข้าไปดูคำสั่ง และ Environment เพื่อจะมาสร้างได้ที่ Docker Hub Nextcloud
docker run -p 80:80 --name nextcloud --network=some-network \ -e MYSQL_PASSWORD=my-secret-pw \ -e MYSQL_DATABASE=my-name-db \ -e MYSQL_USER=my-name-user \ -e MYSQL_HOST=my-host \ -d nextcloud#Example docker run -p 80:80 --name nextcloud \ --network=nextcloud \ -e MYSQL_PASSWORD=fJELha5FNY42 \ -e MYSQL_DATABASE=nextcloud \ -e MYSQL_USER=nextcloud \ -e MYSQL_HOST=mariadb \ -d nextcloud
ตรวจสอบ Container nextcloud ที่เพิ่มขึ้นมาว่า up หรือไม่
[root@localhost ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 457369681d66 nextcloud "/entrypoint.sh apac…" 22 seconds ago Up 20 seconds 0.0.0.0:80->80/tcp nextcloud ff9bc1e38d9a mariadb "docker-entrypoint.s…" About a minute ago Up About a minute 3306/tcp mariadb
ทดสอบลองเข้า IP ผ่าน Webbrowser เช่น http://192.168.1.3 จะขึ้นดังรูปเป็นอันเรียบร้อย
ลองทดสอบใส่ Username Admin , Password ที่ต้องการและ Finish Setup ระบบจะใช้เวลาใน Install สักครู่
หลังจาก Install App เสร็จเรียบร้อยแล้วก็เข้าสู่หน้า Home ดังภาพ เป็นอันเสร็จขั้นตอนการติดตั้ง Nextcloud บน Docker
* หมายเหตุ : บทความนี้เป็นเพียงการแนะนำเบื้องต้น หากจะนำไปขึ้นใช้งานจริง แนะนำให้ศึกษาข้อมูลของ Nextcloud และ Docker เพิ่มเติมครับ
Document Nextcloud : https://docs.nextcloud.com/
Document Docker : https://docs.docker.com/