/docker-example

Automate Docker Deployment

Primary LanguageJavaScriptMIT LicenseMIT

AUTOMATE DOCKER DEPLOYMENT

Hướng dẫn tự động build và deploy sử dụng Docker, Bitbucket step by step.

NodeJS (ReactJS, React Native, ...)

1. Tạo Dockerfile

Vào thư mục chứa project, tạo mới một file Dockerfile và một file .dockerignore

$ touch Dockerfile .dockerignore

Copy và paste vào Dockerfile đoạn script sau:

# Using NodeJS v8.9.1 LTS
FROM node:8.9.1

# Create app directory
WORKDIR /app

# Bundle app source
COPY . .

# Install yarn
RUN npm i -g yarn

# Install dependencies
RUN yarn install

# Port
EXPOSE 3000

# Run app
CMD ["yarn", "start"]

Copy và paste vào .dockerignore đoạn script sau:

node_modules
npm-debug.log
build
README.md

2. Commit và push project lên Bitbucket

Ở đây mình lấy một project React làm ví dụ, repo trên Bitbucket mình đặt tên là docker-example.

alt text

3. Tạo Docker repository và link đến Bitbucket

Tạo Docker repository

Vào https://cloud.docker.com tạo một repository

alt text

Link Docker với Bitbucket

alt text

4. Config tự động Build

  • Vào Docker repository vừa tạo
  • Chọn tag Builds
  • Chọn Source Repository từ Bitbucket vừa link
  • Click Save and Build

alt text

5. Setup tự động Deployment

Vào thẻ Nodes -> Click Bring your own node

alt text

Copy đoạn command xuất hiện trên màn hình và thực thi nó trên Server

$ curl -Ls https://get.cloud.docker.com/ | sudo -H sh -s 432c6a9fe646414e8e75898ede8448e1

alt text

Lưu ý: Server cần mở port 2375, 6783/tcp6783/udp để Docker kết nối.

Đợi 1-2 phút để Docker Cloud kết nối với Docker Daemon trên Server.

Sau khi kết nối xong, vào Server pull và chạy hello-docker repository vừa tạo ở trên.

Ok, vậy là project của ta đã có thể tự build và deploy mỗi khi push code lên Bitbucket.