Ghi chép Docker

Cài đặt Docker và Docker compose

  • Cài đặt Docker

Cài Docker cho Orange Pi 3 giống như Raspbian bằng cách sử dụng script được tạo sẵn như hướng dẫn bên dưới. Thực hiện tải về và chạy script trên local

curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh

Kiểm tra Docker sau khi cài đặt

docker version

Nếu không phải cài đặt Docker dưới tài khoản là root thì cần thêm lệnh sau

sudo usermod -aG docker $USER

(Once Docker is installed, you need to add your user to the docker group (otherwise you’d have to run all docker commands with sudo, which could lead to security issues). To add your user to the docker group, issue the command:)

  • Cài đặt Docker Compose

Để cài đặt docker compose, có nhiều cách khác nhau,ở đây tôi chọn cài đặt bằng cách sử dụng PIP. Mặc định PIP không được cài trên Linux do đó bạn cần phải kiểm tra và cài đặt nó

Kiểm tra PIP đã được cài hay chưa

pip version

Kiểm tra phiên bản python mặc định python --version trên máy của bạn, sau đó cài PIP tùy theo phiên bản python mặc định (python 2 hoặc python 3) theo hướng dẫn sau:

https://linuxize.com/post/how-to-install-pip-on-ubuntu-18.04/

Cài đặt Docker compose sử dụng python pip

Do Python2 đã không còn được hỗ trợ chính thức nên các câu lệnh bên dưới chỉ dành Python 3

  • Cài đặt docker compose

Để tránh lỗi xảy ra ta cần cài thêm các gói sau trước khi cài docker-compose

apt install libffi-dev python3-dev libpython-dev libevent-dev -y
pip3 install setuptools 
pip3 install wheel
pip3 install PyNaCl
pip3 install docker-compose

Sau khi cài đặt gõ docker-compose để hiển thị các tùy chọn của nó. Nếu được cài đặt đúng thì kết quả câu lệnh sẽ trông giống như bên dưới:

Define and run multi-container applications with Docker.

Usage:
  docker-compose [-f <arg>...] [options] [COMMAND] [ARGS...]
  docker-compose -h|--help

Options:
  -f, --file FILE             Specify an alternate compose file
                              (default: docker-compose.yml)
  -p, --project-name NAME     Specify an alternate project name
                              (default: directory name)
  -c, --context NAME          Specify a context name
  --verbose                   Show more output
  --log-level LEVEL           Set log level (DEBUG, INFO, WARNING, ERROR, CRITICAL)
  --no-ansi                   Do not print ANSI control characters
  -v, --version               Print version and exit
  -H, --host HOST             Daemon socket to connect to

  --tls                       Use TLS; implied by --tlsverify
  --tlscacert CA_PATH         Trust certs signed only by this CA
  --tlscert CLIENT_CERT_PATH  Path to TLS certificate file
  --tlskey TLS_KEY_PATH       Path to TLS key file
  --tlsverify                 Use TLS and verify the remote
  --skip-hostname-check       Don't check the daemon's hostname against the
                              name specified in the client certificate
  --project-directory PATH    Specify an alternate working directory
                              (default: the path of the Compose file)
  --compatibility             If set, Compose will attempt to convert keys
                              in v3 files to their non-Swarm equivalent
  --env-file PATH             Specify an alternate environment file
..............................