1. Docker là gì?

Docker là open source dành cho các developer hoặc sysadmin build image, gửi image, và chạy image đó trên nhiều nơi khác nhau như trên windows, laptop, VPS, …

à, vậy Docker image là gì?

Docker image là một template bao gồm các required libraries, command cần thiết để có thể build một Docker container. Container này sẽ chạy dựa theo cấu hình đã được cài sẵn trong Docker image đó.

template của Docker image được viết trong file có tên là `Dockerfile` và các bác có thể chia sẻ file Dockerfile này lên `Docker Hub` cho mọi người trong dự án.

2. Cài đặt docker

cách đơn giản nhất để cài docker (trên Linux) là chạy file bash mà bên Docker đã viết sẵn cho mình :D:

$ curl -fsSL get.docker.com -o get-docker.sh
$ sudo sh get-docker.sh

trong trường hợp cài đặt lỗi thì các bác có thể cài theo hướng dẫn của docker tại đây:

https://docs.docker.com/install/linux/docker-ce/centos/

https://docs.docker.com/install/linux/docker-ce/debian/

https://docs.docker.com/install/linux/docker-ce/fedora/

https://docs.docker.com/install/linux/docker-ce/ubuntu/

Sau khi cài đặt các bác có thể gõ lệnh docker --help để kiểm tra, kết quả nó sẽ như thế này:

Docker Playground (6).png

3. Build container và chạy thử xem nhé

Bây giờ mình sẽ demo chạy một bản wordpress và mysql bằng docker nhé. 😀

đầu tiên thì phải có một bản image của wordpress và mysql đã. lên http://hub.docker.com tìm xem nào

rồi bây giờ mình sẽ pull wordpress về với command:

$ docker pull wordpress

mình sẽ kéo bản wordpress latest về, kết quả:

Docker Playground.png

tiếp tục là mysql, nếu các bác muốn version khác thì có thể sửa lại 5.7 thành version các bác muốn nhé (trong hub.docker.com có số version đấylibrary mysql   Docker Hub.png):

$ docker pull mysql:5.7

và kết quả:

Docker Playground (1).png

Rồi, đã có 2 bản image là wordpress và mysql 5.7, bây giờ mình sẽ tạo container từ 2 images này nhé.

đầu tiên là tạo container cho mysql, để tạo container thì mình sẽ chạy lênh docker run

$ docker run --name vinhphiblog-mysql -e MYSQL_ROOT_PASSWORD=secret-password -d mysql:5.7

Docker Playground (2).png

Đã có container cho mysql, giờ mình sẽ vào mysql container này để tạo database cho wordpress nhé. các bác chạy lệnh này và nhập password đã setup ở trên:

$ docker exec -it vinhphiblog-mysql mysql -uroot -p

sau khi vào được mysql thì sẽ tạo một database cho việc chứa dữ liệu wordpress, và đây là kết quả.

Docker Playground (5).png

đã xong phần database, tiếp theo sẽ tạo container cho wordpress và link với container mysql lúc nãy vừa tạo:

docker run --name vinhphiblog-wordpress --link vinhphiblog-mysql:mysql -d wordpress

Kết quả:

Docker Playground (7).png

sau khi chạy xong container của wordpress thì các bác thử truy cập localhost xem nhé, của mình là được rồi đấy. :))

WordPress › Installation.png

Wordpress with Docker – Just another WordPress site.png

Dashboard ‹ WordPress with Docker — WordPress.png

Xong!!… các bác có gì thắc mắc, muốn hỏi cứ comment nhiệt tình phía dưới nhé, mình trả lời được mình sẽ trả lời nhiệt tình 😀

Ở bài sau mình sẽ cùng học với các bác các command trong Dockerfile và cách để tự viết một Docker image nhé.

Advertisements