by Minh Nguyen
$ sudo apt install curl git
$ curl -fsSL https://get.docker.com -o get-docker.sh
$ sh get-docker.sh
$ sudo gpasswd -a $USER docker # docker without sudo -> logout & login user again
$ docker run hello-world # test docker installed successfully
$ sudo curl -SL https://github.com/docker/compose/releases/download/v2.40.3/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose
$ sudo chmod +x /usr/local/bin/docker-compose
$ sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
$ docker-compose --version # test docker-compose installed successfully
$ git clone https://github.com/minhng92/odoo-18-docker-compose zoo18
$ cd zoo18
$ sudo chmod -R 777 addons && sudo chmod -R 777 etc
$ mkdir postgresql && sudo chmod -R 777 postgresql
$ sudo sysctl fs.inotify.max_user_watches=500000
$ docker-compose up -d
$ docker-compose restart # restart docker container / Odoo server
$ docker-compose stop # tắt Odoo server
$ docker-compose start # khởi động Odoo server
$ docker-compose down # tắt hoàn toàn Odoo server (các gói thư viện bên trong container sẽ bị reset)
$ docker-compose up # khởi tạo và chạy Odoo server và xem log console; Ctrl+C để tắt server
$ docker-compose up -d # khởi tạo và chạy Odoo server ở background / service
$ docker ps # liệt kê docker container (và xem CONTAINER ID) đang chạy
$ docker logs CONTAINER_ID # xem log container đang chạy
$ docker exec -it CONTAINER_ID /bin/bash # kết nối tương tác (interactive) vào bên trong container đang chạy (tương tự ssh)
$ docker stop CONTAINER_ID # stop container đang chạy
$ docker start CONTAINER_ID # chạy container đã stop
$ docker restart CONTAINER_ID # restart container đang chạy
$ docker rm CONTAINER_ID # xóa container đã tắt
$ docker attach CONTAINER_ID # attach vào container đang chạy -> xem được log in trên console
=> Odoo addons bên trong container nằm tại: /usr/lib/python3/dist-packages/odoo