Chạy Easy!Appointments bằng Docker
Nghia Phan
Mục Lục Bài Viết
Easy!Appointments là ứng dụng web mã nguồn mở cho phép khách đặt lịch và có thể đồng bộ với Google Calendar. Bài này dùng mạng Docker riêng và lưu database trong ~/docker/mariadb.
Cài Docker
Đăng nhập Linux bằng tài khoản có quyền sudo, rồi chạy các lệnh sau. Tutorial gốc dùng apt-key; trên bản phân phối mới, hãy đối chiếu thêm tài liệu Docker chính thức vì lệnh này đã bị đánh dấu deprecated.
sudo apt install apt-transport-https ca-certificates curl software-properties-common gnupg-agent -ycurl -fsSL https://download.docker.com/linux/$(awk -F'=' '/^ID=/{ print $NF }' /etc/os-release)/gpg | sudo apt-key add -sudo add-apt-repository "deb [arch=$(dpkg --print-architecture)] https://download.docker.com/linux/$(awk -F'=' '/^ID=/{ print $NF }' /etc/os-release) $(lsb_release -cs) stable"sudo apt install docker-ce docker-compose containerd.io -ysudo systemctl enable docker && sudo systemctl start dockersudo usermod -aG docker $USERsu - $USER
Tạo database và container ứng dụng
- Tạo thư mục và cấp quyền cho user hiện tại:
mkdir ~/docker/mariadb -psudo chown "$USER":"$USER" ~/docker -R
- Tạo network dùng chung:
docker network create containers
- Chạy MariaDB. Thay cả hai giá trị
[DB_PASSWORD]bằng mật khẩu riêng; không dùng mật khẩu trong tutorial gốc:
docker run -d --name mariadb \ --network containers --network-alias db \ -e MYSQL_ROOT_PASSWORD='[DB_ROOT_PASSWORD]' \ -e MYSQL_USER=easy_appointments_rw \ -e MYSQL_PASSWORD='[DB_PASSWORD]' \ -e MYSQL_DATABASE=easy_appointments \ -v /home/$USER/docker/mariadb:/var/lib/mysql \ --restart=unless-stopped mariadb:latest
- Chạy Easy!Appointments và trỏ nó vào MariaDB:
docker run -d --name easy-appointments \ --network containers -p 8089:80 \ -e DB_HOST=mariadb \ -e DB_NAME=easy_appointments \ -e DB_USERNAME=easy_appointments_rw \ -e DB_PASSWORD='[DB_PASSWORD]' \ --restart=unless-stopped \ alextselegidis/easyappointments
Hoàn tất trên web installer
- Mở
http://DNSorIP:8089. - Chờ màn hình cài đặt Easy!Appointments xuất hiện.
- Điền thông tin Administrator và Company, rồi bấm Install Easy!Appointments.
- Sau khi vào được giao diện, kiểm tra container bằng
docker psvà xem log nếu trang chưa tải.
docker psdocker logs --tail=50 easy-appointments
Sao lưu thư mục ~/docker/mariadb trước khi nâng cấp image. Không đưa database port ra Internet nếu không cần.
Quảng cáo
Nguồn và video
- Tutorial gốc: i12bretro 0949
- Video gốc: Run Easy!Appointments in Docker
Bình Luận & Thảo Luận
Góp ý, hỏi đáp và chia sẻ suy nghĩ của bạn