ในบทความนี้จะนำเสนอการใช้งาน 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/
