Đề Xuất 2/2023 # Tăng Cường Độ Linh Hoạt Với Conda Và Docker # Top 5 Like | Thaiphuminh.com

Đề Xuất 2/2023 # Tăng Cường Độ Linh Hoạt Với Conda Và Docker # Top 5 Like

Cập nhật nội dung chi tiết về Tăng Cường Độ Linh Hoạt Với Conda Và Docker mới nhất trên website Thaiphuminh.com. Hy vọng thông tin trong bài viết sẽ đáp ứng được nhu cầu ngoài mong đợi của bạn, chúng tôi sẽ làm việc thường xuyên để cập nhật nội dung mới nhằm giúp bạn nhận được thông tin nhanh chóng và chính xác nhất.

Gần đây, tôi đã có cơ hội làm việc trong một dự án AI, hầu hết những AI component trong dự án đều được viết bằng ngôn ngữ Python và dùng Conda làm hệ thống package manager.

Những component này được yêu cầu xây dựng thành Docker image để đảm bảo tính linh động. Vậy nên tôi đã thử tìm hiểu về việc sử dụng Conda với Docker, sau nhiều lần thử nghiệm thì cũng đã tìm ra cách làm hiệu quả nhất.

Trong dự án, tôi đã tạo Docker image cho nhiều component khác nhau. Nhìn chung, các component này làm những việc như:

Tải ảnh (dạng nhị phân) từ queue service (Nats Streaming)

Chuyển ảnh thành dạng phù hợp và nhận diện vật thể có trong ảnh (sử dụng TensorFlow Serving)

Xử lí đầu ra (output) và lưu dữ liệu vào Database (PostgresDB)

Hệ thống có thể hoạt động bằng việc sử dụng CPU hoặc GPU (nếu có).

Trong bài viết này, tôi muốn chia sẻ cùng các bạn cách sử dụng Docker với Conda, được minh họa bằng một đoạn mã Python đơn giản có ứng dụng OpenCV. Tiếp theo là hướng dẫn từng bước một để có thể tạo Dockerfile cho dự án sử dụng Conda.

Tổng quan Docker và Conda

Docker là một nền tảng mở, là công cụ thông dụng cho phép chúng xây dựng, phát triển và triển khai hệ thống một cách nhanh chóng và đơn giản qua việc sử dụng container. Sử dụng Docker đem đến nhiều lợi ích như tính linh động, tính cô lập (isolation) và khả năng mở rộng. Nếu bạn muốn tìm hiểu về Docker thì có thể xem qua các tài liệu bên dưới:

Conda là hệ thống quản lí gói độc lập nền tảng (platform-independent package manager) rất phổ biến với những người có chuyên môn về phân tích dữ liệu và khoa học máy tính. Nếu bạn là một Python newbie và gặp khó khăn trong việc thiết lập môi trường cho nhiều dự án, Conda có thể là một sự lựa chọn tốt cho bạn.

Conda là hệ thống quản lí gói mã nguồn mở (open-source package) giúp chúng ta tạo và quản lí nhiều môi trường riêng biệt cho nhiều ứng dụng khác nhau. Conda cung cấp khả năng tạo “môi trường ảo” (virtual environment), nên chúng ta có thể tránh được các xung đột phiên bản thư viện (library version) thường thấy trong các dự án Python. Bạn có thể tìm hiểu thêm về Conda tại link này: https://docs.conda.io/projects/conda/en/latest/user-guide/getting-started.html.

Thử tạo dự án bằng cách sử dụng Conda với Docker

Bước 1: Chuẩn bị

Trong dự án này, chúng ta sẽ chuẩn bị những tập tin như bên dưới:

Python script đơn giản trong file “run.py” thực thi việc grayscale một bức ảnh và hiển thị kết quả. Chúng ta sẽ sử dụng OpenCV trong đoạn script này. Chúng ta cũng sẽ sử dụng một bức ảnh “sample.jpg” để chạy thử.

Tập tin Docker “Dockerfile” được dùng để tạo Docker image.

3 dòng đầu tiên, chúng ta khai báo image gốc và workdir, sau đó sao chép nội dung từ thư mục mục tiêu vào image (như những file docker thường thấy)

Tiếp theo, chúng tao tạo môi trường conda mới từ tập tin “environment.yml” (như câu lệnh chúng ta dùng để tạo môi trường conda mới trên máy local)

Tiếp theo, chúng ta sẽ kích hoạt môi trường conda (activate conda environment) bằng việc sử dụng lệnh RUN. Sử dụng RUN sẽ thực thi lệnh kích hoạt môi trường conda trên image hiện thời và giữ lại kết quả (commit the results). Điều đó sẽ giúp những câu lệnh kế tiếp được thực thi trên môi trường Conda đã được kích hoạt.

Cuối cùng, thực thi đoạn python script bằng cách sử dụng lệnh CMD.

Bước 2: Thực thi

Tạo docker image bằng cách sử dụng câu lệnh:

Chạy Docker image bằng câu lệnh:

Vì chúng ta cần hiển thị hình ảnh từ Docker container, nên cần cấu hình thêm cho lệnh docker run.

xhost + : cấp quyền truy cập X server (để hiển thị hình ảnh)

-rm

Tự động xóa bỏ container sau khi thoát

-net

Kết nối container vào mạng lưới network -net=host cho phép container có thể dùng port trên máy local

-ipc

Chế độ IPC được sử dụng -ipc=host cho phép máy local truy cập vào vùng nhớ được chia sẻ của container

-e

Thiết đặt biến môi trường Trong câu lệnh trên, chúng ta sẽ đặt biến môi trường DISPLAY cho container giống với giá trị của biến môi trường DISPLAY trên máy local

Tóm lại, câu lệnh cho phép container truy cập vào X server trên máy local để hiển thị kết quả. Nếu bạn muốn tìm hiểu thêm về cấu hình cho lệnh “run” thì có thể đọc bài viết này: https://docs.docker.com/engine/reference/commandline/run/

Sau đó, chúng ta có thể xem kết quả hiển thị:

Trong phần trên, bạn đã có đủ “nguyên liệu” để tự tạo Docker với Conda cho mình. Tuy nhiên, để có thể tìm được cách làm hiệu quả nhất thì bản thân tôi cũng đã thử đi thử lại nhiều lần với nhiều cách khác nhau. Trong quá trình thử nghiệm đó, tôi đã có những trải nghiệm như bên dưới, hy vọng sẽ giúp ích cho bạn.

Tốn nhiều thời gian để tạo docker image

Vì tạo một môi trường Conda hoàn toàn mới cần cài rất nhiều thư viện, đặc biệt khi bạn sử dụng những thư viện nặng nề, việc phải tạo lại docker image nhiều lần trong quá trình phát triển ứng dụng sẽ tốn rất nhiều thời gian. Để tránh việc này, chúng ta có thể chia Dockerfile thành 2 phần.

Trong phần đầu, chúng ta sẽ xây dựng docker image từ image gốc, sao chép tập tin chúng tôi và tạo môi trường Conda. Chúng ta sẽ gọi image này là “base Conda image”

Trong phần sau, chúng ta sẽ xây dựng docker image từ base Conda image, sao chép source code và những nội dung cần thiết khác vào image và gọi những câu lệnh cần thiết còn lại.

Ví dụ nhưng trong dự án bên trên, chúng ta có thể chia Dockerfile thành 2 phần như bên dưới:

Phần A tạo base Conda image:

Phần B tạo image cho ứng dụng:

Từ lúc này, mỗi khi cần phải cập nhật source code, chúng ta chỉ cần tạo lại image cho ứng dụng bằng cách sử dụng tập tin Docker thứ 2. Chúng ta không cần phải thực thi lại toàn bộ quá trình từ đầu để tạo một môi trường Conda mới.

Logging

Sử dụng câu lệnh bên dưới để chạy tập tin python trên môi trường conda cũng có thể giúp chúng ta dùng Conda trong Docker. Tuy nhiên chúng ta sẽ không thấy log của ứng dụng trên màn hình.

Thay vào đó, kích hoạt môi trường Conda bằng lệnh RUN và chạy Python script sau đó (như trong tập tin mẫu) sẽ có thể in log của ứng dụng khi docker container thực thi.

Thông qua bài viết, tôi hy vọng bạn đã có đủ những điều mình cần để sử dụng Conda với Docker. Với Docker, việc phát triển và triển khai có thể nhanh chóng, hiệu quả và linh hoạt hơn. Nếu bạn đang làm trong một dự án AI, hy vọng nội dung bài viết này có thể giúp ích cho hành trình của bạn.

Giới Thiệu Về Docker Làm Quen Với Docker Tạo Container

Giới thiệu Docker

Docker là một công cụ giúp cho việc tạo ra và triển khai các container để phát triển, chạy ứng dụng được dễ dàng. Các container là môi trường, mà ở đó lập trình viên đưa vào các thành phần cần thiết để ứng dụng của họ chạy được, bằng cách đóng gói ứng dụng cùng với container như vậy, nó đảm bảo ứng dụng chạy được và giống nhau ở các máy khác nhau (Linux, Windows, Desktop, Server …)

Cài đặt Docker

Hiện giờ Docker có đầy đủ bản cài đặt trên Windows, MacOS, Linux. Tùy thuộc bạn muốn chạy trên môi trường nào thì tải về bản cài đặt tương ứng để cài đặt.

Cài Docker trên macOS

Tải bộ cài tại Docker Desktop for Mac, cài đặt đơn giản như các công cụ thông thường.

Cài Docker trên Windows 10

Đảm bảo hệ thống là Windows 10 Pro

Tải bộ cài tại Docker Desktop for Windows, tiến hành cài đặt. Đối với Windows phải kích hoạt chế độ Hyper-V virtualization (Ở chế độ này bạn không dùng được VirtualBox nữa).

Nếu chưa kích hoạt Hyper-V thì kích hoạt theo hướng dẫn Enable Hyper-V

Chạy lệnh PowerShell sau để kích hoạt:

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All

Kích hoạt thông qua thiết lập Windows

Nhấn phải chuột vào biểu tượng cửa sổ, chọn Apps and Features

Chọn Programs and Features

Chọn Turn Windows Features on or off

Đánh dấu vào Hyper-V như hình dưới

Cài Docker trên Ubuntu

Chạy các lệnh để cài đặt:

sudo apt update sudo apt install apt-transport-https ca-certificates curl software-properties-common sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable" sudo apt update apt-cache policy docker-ce sudo apt install docker-ce sudo systemctl status docker

Sau khi cài đặt, bạn có thể cho user hiện tại thuộc group docker, để khi gõ lệnh không cần xin quyền sudo

sudo usermod -aG docker $USER

Logout sau đó login lại để có hiệu lực.

Ngoài ra khi sử dụng đến thành phần docker-compose thì bạn cài thêm

sudo apt install docker-compose

Nếu có nhu cầu sử dụng Docker Machine trên Ubuntu, (công cụ tạo – quản lý các máy ảo chạy Docker Engine, các máy ảo này tạo bởi VirtualBox, bạn sử dụng Docker-machine để thực hành các ví dụ kết nối nhiều máy chạy Docker Engine khác nhau tạo thành cụm Server), thì cài thêm Docker Machine. Phiên bản mới nhất lấy tại Docker Machine

Ví dụ cài bản v0.16.1, gõ lệnh sau:

chmod +x /tmp/docker-machine && sudo cp /tmp/docker-machine /usr/local/bin/docker-machine

Tất nhiên là Docker Machine cần VirtualBox để làm việc, nếu chưa có thì cài thêm

sudo apt install virtualbox

Cài Docker trên CentOS7/RHEL7

sudo yum install -y yum-utils device-mapper-persistent-data lvm2 sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo yum install docker-ce sudo usermod -aG docker $(whoami) sudo systemctl enable docker.service sudo systemctl start docker.service #Cài thêm Docker Compose sudo yum install epel-release sudo yum install -y python-pip sudo pip install docker-compose sudo yum upgrade python* docker-compose version

Cài Docker trên CentOS8/RHEL8

sudo yum install -y yum-utils device-mapper-persistent-data lvm2 sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo yum install docker-ce # Nếu lỗi, chạy lệnh sau sudo dnf install --nobest docker-ce -y sudo usermod -aG docker $(whoami) sudo systemctl enable docker.service sudo systemctl start docker.service #Cài thêm Docker Compose sudo yum install epel-release sudo yum -y install python2-pip sudo pip2 install docker-compose sudo yum upgrade python* docker-compose version

Khi đã có Docker trên máy, làm việc với Docker để quan lý các thành phần của nó … hầu hết làm việc qua giao diện dòng lệnh CLI của hệ thống: trên macOS/Linux mở termial để gõ lệnh, trên Windows thì nên dùng PS ( PowerShell) để chạy các lệnh Docker.

Làm quen ban đầu Docker

Giờ hãy mở giao diện lệnh termial (macOS, Linux) hay PowerShell của Windows nên và gõ:

Kiểm tra phiên bản Docker

docker --version

Hoặc lệnh thông tin chi tiết hơn:

docker info

image và container trong Docker

image là một gói phần mềm trong đó chứa những thứ cần như thư viện, các file cấu hình, biến môi trường để chạy mội ứng dụng nào đó. Nó giống như cái USB chứa bộ cài đặt hệ điều hành Windows!

Khi một phiên bản của image chạy, phiên bản chạy đó gọi là container – (vậy muốn có container phải có image). Bất ký lúc nào bạn cũng có thể kiểm tra xem có bao nhiêu container đang chạy và nó sinh ra từ image nào.

Bước đầu, để có image nào đó bạn tải về từ https://hub.docker.com/search?q=&type=image, tại đó có đủ các loại phù hợp với công việc của bạn!

Tải về một image

Kiểm tra các image bạn đang có

docker images -a

Nó sẽ liệt kê ra các image bạn đang có, với dạng:

Repository tên image trên kho chứa, ví dụ hệ điều hành CentOS có tên trên chúng tôi là centos (xemcentos)

TAG là phiên bản image, với giá trị latest có nghĩa là bản cuối. Muốn tải về bản khác latest vào mục TAGS trên hub.docker.com tìm bản phù hợp.

IMAGE ID một chuỗi định danh duy nhất (tên) của image trên hệ thống của bạn.

Để tải về một image nào đó, dùng lệnh

docker pull nameimage:tag #Hoặc tải về bản cuối docker pull nameimage

Bây giờ hệ thống không có hệ điều hành Ubuntu, muốn tải nó về – vì trên chúng tôi nó có tên ubuntu, ta sẽ tải về bản mới nhất bằng lệnh:

docker pull ubuntu

Giờ thì hệ thống sẽ có thêm image với tên ubutu, có thể góc lại lệnh kiểm tra docker images -a ở trên để xem.

Tạo và chạy container

Như trên, container là một phiên bản chạy của image, trước tiên

Kiểm tra có các container nào đang chạy:

docker ps

Liệt kê tất cả các container:

docker container ls --all

Các container bạn đã tạo, liệt kê ra hãy chú ý mấy thứ

CONTAINER ID một con số (mã hash) gán cho container, bạn dùng mã này để quản lý container này, như xóa bỏ, khởi động, dừng lại …

IMAGE cho biết container sinh ra từ image nào.

COMMAND cho biết lệnh, ứng dụng chạy khi container chạy (/bin/bash là terminate)

STATUS cho biết trạng thái, (exit – đang dừng)

Để tạo và chạy một container theo cú pháp:

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

Các tham số đó là:

[OPTIONS] các thiết lập khi tạo container, có rất nhiều thiết lập tùy mục đích tạo container, sẽ tìm hiểu các thiết lập qua từng trường hợp cụ thể.

IMAGE tên image hoặc ID của image từ nó sinh ra container.

[COMMAND] [ARG...] lệnh và tham số khi container chạy.

Trở lại phần trên, đang có image hệ điều hành Ubuntu, giờ muốn chạy nó (tạo một container từ nó), hãy gõ lệnh sau:

docker run -it ubuntu

Bạn chú ý có tham số -it để khi container chạy, bạn có terminate làm việc ngay với Ubuntu. Tham số này có nghĩa là

-t nó có nghĩa là console, cho phép kết nối với terminal để tương tác

-i có nghĩa duy trì mở stdin để nhập lệnh.

Sau lệnh này, bạn đang chạy Ubuntu, bạn có thể gõ vài lệnh Ubuntu kiểm tra xem. Ví dụ kiểm tra phiên bản Ubuntu, xem hình dưới với lệnh cat /ect/*release. Như vậy bạn đã tạo một container

Bạn đang ở terminal của Ubuntu, có thể kết thúc bằng lệnh exit, hoặc nhấn nhanh CTRL+P,CTRL+Q để thoat termial nhưng container vẫn đang chạy.

Một vài tham số khác:

Tạo và chạy container, container tự xóa khi kết thúc thì thêm vào tham số --rm

docker run -it --rm ubuntu

Tạo và chạy container – khi container chạy thi hành ngay một lệnh nào đó, ví dụ ls -la

docker run -it --rm debian ls -la

Tạo và chạy container – ánh xạ một thự mục máy host vào một thư mục container, chia sẻ dữ liệu

docker run -it --rm -v path-in-host:path-in-container debian

Vào container đang đang chạy

Kiểm tra xem bằng lệnh docker ps, nếu có một container với ID là containerid đang chạy, để quay quay trở lại terminal của nó dùng lệnh:

docker container attach containerid

Chạy một container đang dừng

docker container start -i containerid

Nếu cần xóa bỏ hẳn một container thì dùng lệnh

docker container rm containerid

Tóm tắt các lệnh làm quen

#kiểm tra phiên bảndocker --version#liệt kê các imagedocker images -a#xóa một image (phải không container nào đang dùng)docker images rm imageid#tải về một image (imagename) từ chúng tôi pull imagename#liệt kê các containerdocker container ls -a#xóa containerdocker container rm containerid#tạo mới một containerdocker run -it imageid #thoát termial vẫn giữ container đang chạyCTRL +P, CTRL + Q#Vào termial container đang chạydocker container attach containerid#Chạy container đang dừngdocker container start -i containerid#Chạy một lệnh trên container đang chạydocker exec -it containerid command

“Đùa Nghịch” Với Docker Trong 5 Phút

Đọc xong bài này được gì?

Đọc xong bài này có thể các bạn sẽ không được gì cả, cũng có thể là sẽ được rất nhiều, quan trọng vẫn là ở các bạn!

Hy vọng các bạn có những kiến thức cơ bản để tiếp tục tìm hiểu sâu hơn về Docker.

Một số khái niệm cơ bản

Docker là gì?

Định nghĩa cũng tràn lan trên mạng rồi nên tôi cũng không cần phải copy lại chi cho mệt ha. Giờ tôi sẽ giải thích một cách đơn giản và dân dã nhất để cho ai cũng có thể hiểu được!

Đầu tiên cùng tưởng tượng rằng bạn và đồng nghiệp của mình đang cùng làm việc trên cùng một dự án. Một ngày đẹp trời đồng nghiệp của bạn bỗng nhiên chạy source code để debug nhưng kết quả lại khác với kết quả trên máy của bạn khi chạy với cùng dữ liệu như nhau.

Vậy câu hỏi đặt ra là nguyên nhân do đâu?

Có thể có một số nguyên nhân ví dụ như hệ điều hành của bạn và đồng nghiệp không giống nhau, verison của library trên máy bạn và trên máy của đồng nghiệp khác nhau, etc.

Docker sinh ra để giải quyết những vấn đề giống giống vậy. Hiểu một cách đơn giản, Docker container có thể được coi như là một cái “máy tính” nằm bên trong cái máy tính của bạn. Điều hay ho là bạn có thể gửi cái “máy tính” đó cho bạn bè, đồng nghiệp của mình để họ có thể bật nó lên và chạy code mà kết quả sẽ giống y hệt với kết quả mà bạn thấy trên máy của mình.

Tóm lại, Docker giúp cho bạn gói gém tất cả môi trường máy tính của bạn, tạo thành một “image” và mang nó chạy trên một máy tính khác một cách dễ dàng. Image khi được chạy lên thì tạo nên một instance của image đó và nó được gọi là “container”. Image và Container chính là hai từ khoá quan trọng mà bạn phải nhớ trong xuyên suốt bài viết này, cũng như trong quá trình làm việc với Docker.

Docker compose là gì?

Docker-compose là một công cụ để định nghĩa và chạy những Docker container. Một trong những trường hợp cụ thể mà bạn cần sử dụng tới Docker-compose đó là khi bạn muốn giả lập một môi trường giống hệt môi trường thực tế của ứng dụng ví dụ như kết nối database, gọi cache server hay những service khác, etc. Một trường hợp khác nữa mà tôi có thể kể tới ví dụ như các bạn muốn thực hiện automation testing cho hệ thống của mình, và đảm bảo rằng mọi thứ được thực hiện tách biệt với những môi trường khác từ server, database, cache, etc.

Chuẩn bị

Để tiến hành “đùa nghịch” thì các bạn nhớ chuẩn bị sẵn những công cụ sau đây.

Hướng dẫn cài đặt mấy thứ này thì cũng tràn lan trên mạng và thời gian cài đặt sẽ từ khoảng 5 đến 15 phút tuỳ trình độ cũng như tốc độ mạng của các bạn!

Setup ứng dụng NodeJS cơ bản

Đầu tiên là tiền đâu, à không, đầu tiên là setup một ứng dụng NodeJS đơn giản sử dụng MongoDB, lại một lần nữa, mấy cái hướng dẫn này cũng tràn lan trên mạng luôn.

Và để cho các bạn có thể thoả sức nghịch Docker thì tôi làm sẵn luôn một ứng dụng NodeJS cơ bản. Các bạn có thể checkout code như sau.

git clone https://github.com/codeaholicguy/nodejs-mongodb-docker-example.git

Giới thiệu sơ qua thì đây là RESTful API lưu danh bạ gồm 2 endpoint chính là hàm POST để lưu danh bạ và hàm GET để lấy danh bạ (như hình). Các bạn có thể nghịch thêm gì tuỳ ý.

À quên, các bạn có thể config mongo url bằng cách thêm environment variable MONGO_URL hay dùng file .env đã được setup sẵn.

Build docker image của ứng dụng NodeJS vừa được setup

Đây mới là phần chính của bài viết nè!

Để tạo một Docker image, chúng ta cần tạo một file gọi là Dockerfile ngay tại thư mục root của project.

$ docker build -t awesome-app .

Như vậy, các bạn đã có một Docker image cho source code hiện tại, và các bạn cũng có thể chạy thử image bằng lệnh

$ docker run awesome-app

Viết file docker-compose.yml

Các bạn tạo file docker-compose.yml, file này sẽ chứa thông tin của môi trường Docker.

Trong file này chúng ta định nghĩa hai Docker.

app: đây chính là ứng dụng NodeJS của chúng ta.

mongo: chính là database MongoDB map với port như định nghĩa.

Mặc định app sẽ gọi mongo bằng cách sử dụng tên của service, như các bạn có thể thấy env MONGO_URL chúng ta sử dụng mongo cho phần hostname.

Sau khi các bạn đã có file chúng tôi các bạn có thể chạy nó lên bằng lệnh sau.

$ docker-compose up

Lưu trữ dữ liệu

Với setup như trên, mỗi lần xoá mongo image và re-build lại thì dữ liệu trước đó sẽ mất hết, bởi vì dữ liệu được lưu trữ trong mongo container. Vậy làm sao để dữ liệu được giữ nguyên?

Để làm chuyện này, chúng ta sử dụng một kĩ thuật gọi là volume, để làm cho storage của container sẽ trỏ về một thư mục trên máy tính thật. Để làm chuyện này thì cũng khá đơn giản thôi. Các bạn chỉnh sửa file docker-compose.yml như sau.

Như các bạn có thể thấy, chúng ta thêm volumes vào và map nó với thư mục /data/db trong mongo container. Vậy thực sự thư mục dữ liệu này nằm ở đâu?

Các bạn chạy lệnh sau.

$ docker inspect -f ‘{{ .Mounts }}’ ${container_id} [{volume nodejs-mongodb-docker-example_mongo_data /var/lib/docker/volumes/nodejs-mongodb-docker-example_mongo_data/_data /data/db local rw true }]

Trong đó container_id chính là id của mongo container, các bạn có thể lấy nó thông qua lệnh docker ps. Kết quả trả về các bạn có thể thấy có ba thành phần, phần đầu tiên chính là volume name, phần thứ hai chính là đường dẫn thực tế, phần thứ ba chính là mapping trên docker container file system. Cụ thể hơn các bạn có thể xem document của Docker về phần này.

Đọc xong bài viết này liệu có được tăng lương hay đậu phỏng vấn không?

Bài viết này đã giới thiệu cho các bạn về:

Docker

Docker-compose

Cách lưu trữ dữ liệu khi dùng Docker

Đây chính là tất cả những thứ đơn giản nhất (những thức phức tạp còn nhiều vô số kể) để thực hiện việc Dockerize ứng dụng của các bạn và sử dụng docker-compose để chạy môi trường của ứng dụng chỉ bằng một lệnh duy nhất, cũng như việc lưu trữ lại dữ liệu ngay cả khi container bị xoá.

Source code dùng trong bài viết:

Những Phương Cách Sử Dụng Dầu Dừa Để Tăng Cường, Phòng Và Chữa Bệnh

NHỮNG PHƯƠNG CÁCH SỬ DỤNG DẦU DỪA

ĐỂ TĂNG CƯỜNG, PHÒNG VÀ CHỮA BỆNH

Dựa vào tài liệu của Bác sĩ Bruce Fife và qua kinh nghiệm tiếp xúc với nhiều bệnh nhân, đặc biệt dựa vào kinh nghiệm của một bác sĩ nữ tại Việt Nam đã chuyên tu tại Pháp, hơn nữa dầu dừa chỉ là loại dầu thực vật nhưng lại có những thành phần rất đặc biệt hơn các loại dầu khác, nên người sử dụng cần phải thực hiện những cách sử dụng khác nhau kể cả vài thủ thuật để có được những hiệu quả rất tốt cho sức khỏe:

1. SÚC MIỆNG BẰNG DẦU DỪA

(có thể dùng dầu mè hay các loại dầu ăn khác, theo bác sĩ Fife dầu ăn tốt nhất là dầu dừa):

* Qua súc dầu, nước miếng được tiết ra và kích hoạt lên chất enzyme để rồi chất này có thể lấy chất độc do virút, vi khuẩn, vi sinh vật tiết ra trong miệng.

* Khi súc dầu, người bệnh có thể điều khiển từ trái sang phải và từ trong ra ngoài. Với cách súc này, dầu dừa sẽ kéo ra những mảng bám, những thức ăn còn dính vào trong kẽ răng, nơi chân răng và hút vào dầu hàng trăm triệu virút, vi khuẩn có thể vào trong cơ thể qua ăn uống, hoặc nguy hiểm hơn nữa vào đường máu qua các vết xước lở trong miệng và gây bệnh. Sau khi súc dầu từ 15′-20′, người bệnh sẽ cảm thấy dầu loãng ra vì trộn với nước miếng và có mầu trắng . Lúc này, dầu trong miệng đã lôi được khá nhiều những tác nhân gây bệnh vào dầu, để rồi nhổ bỏ ra ngoài, vào thùng rác. Sau khi nhổ bỏ, ta nên súc miệng bằng nước muối và nạo lưỡi để tiếp tục khử trừ những vi sinh vật còn sót lại trong răng miệng. Thời gian phù hợp và hiệu quả nhất là buổi sáng khi thức dậy. Với phương cách này, các bệnh về răng, miệng, họng cũng như hô hấp sẽ mau được chữa lành hơn.

Mỗi ngày nên súc miệng bằng dầu 2 lần: tốt nhất vào sáng sớm và buổi tối trước khi ngủ. Mỗi lần dùng 2 muỗng cà-phê = 10ml. Nhai súc trong khoảng từ 15-20 phút (không nên qúa 20 phút). Nếu bệnh nặng, xin làm thêm 1 lần vào buổi tối trước khi ngủ. Càng làm vệ sinh răng miệng và khử trừ độc tố càng nhiều và thường xuyên, hệ miễn nhiễm trong cơ thể sẽ rảnh rang để có thể tự điều chỉnh khả năng tự chữa bệnh cho mình.

2. UỐNG TRỰC TIẾP VÀO CƠ THỂ:

Trong dầu dừa, theo bác sĩ Fife, có 10 loại acid béo chuỗi trung bình khác nhau. Từng loại acid béo, vừa là chất dinh dưỡng nuôi cơ thể, vừa giúp cơ thể hấp thu các vitamin, chất khoáng từ các thức ăn khác vào tế bào, vừa cho năng lượng giúp ta khỏe mạnh, lại vừa có khả năng kháng sinh mạnh mẽ tiêu diệt rất nhiều loại virút, vi khuẩn, vi sinh vật và nấm .

Nhờ thế, rất nhiều bệnh trong nội tạng hay ngoài da sẽ hết. Thật tuyệt vời!!! Nhưng không phải tất cả ai cũng đều có hiệu quả nhanh như nhau. Nhanh hay chậm còn tùy thuộc vào sự hấp thụ của mỗi người, tùy thuộc vào căn bệnh, vào lối sống, và vào thức ăn lành mạnh nữa.

Mỗi ngày nên uống 3 lần, mỗi lần một muỗng canh (tương đương 15ml) trước 3 bữa ăn trong ngày. Nếu là trẻ em, nên sử dụng liều lượng ½ muỗng café hoặc 1 muỗng café tùy theo độ tuổi. Có thể trộn với sữa hoặc cơm cháo cho các cháu dùng thay vì uống trực tiếp.

3. NHỮNG THỦ THUẬT DÙNG DẦU DỪA BÊN NGOÀI:

* Đối với bệnh tim: dùng đậu xanh xay nhuyễn pha với chút nước lã để chúng dính lại với nhau, sau đó đắp chung quanh phần tim trên da và đổ dầu dừa đã hâm nóng vào vùng tim đã đắp bờ. Nên nằm yên khoảng 2 giờ hoặc nếu có thể nằm ngủ qua đêm với tư thế trên càng hiệu qua cao. Nhờ cách này, trái tim sẽ mau bình phục.

* Đối với các bệnh về họng: dùng dầu dừa thấm trên gạc y tế đắp vào chỗ lõm nơi cổ, sau đó băng lại để dầu có thời gian tác động qua da và sẽ đem lại hiệu quả với các bệnh ảnh hưởng đến cổ họng như viêm họng, khó thở, xuyễn…

* Đối với các chứng đau đầu: làm như cách thức trên nhưng đắp ngay sau ót (gáy) sẽ giúp cho máu huyết lưu thông và sẽ đem lại hiệu quả tốt với chứng đau nhức tiền đình, đốt sống cổ…

* Đối với chứng đau nhức thắt lưng: sau khi xoa nóng vùng lưng bằng dầu dừa, bệnh nhân nên đắp như cách thức trên vào thắt lưng như suy thận, đau lưng kinh niên…

* Đối với các chứng viêm khớp, bầm tím và các cục bướu: làm như trên và để càng lâu dầu dừa càng tác động lên những vùng bị tổn thương….

Bôi xoa dầu dừa trên cơ thể:

* Sốt nóng dùng dầu dừa bôi xoa (massage) toàn thân sẽ giữ ấm lại thân nhiệt.

* Bôi dầu dừa lên những vết thương nhẹ bên ngoài da như phỏng, ngứa ngáy, những vết do giời leo, nám, chàm, mụn, eczema… (càng nhiều lần càng tốt)

* Những phần nào trên cơ thể một khi bị đau nhức, ta có thể dùng dầu dừa bôi xoa lên vùng đó sẽ dần dần làm giảm đau.

* Bôi vào chân, tay trẻ em, người lao động để tránh kiến, côn trùng cắn

* vào 2 lỗ mũi khi viêm nhiễm, sau đó ngửa cổ ra phía sau để cho dầu thấm vào bên trong chừng 30 giây và rồi xì ra. Nếu bị xoang nặng nhất thiết phải nhai súc dầu. Nên thực hiện cách này vài lần trong ngày.

Massage thành vách trong tai:

* Nếu tai bị viêm như có mủ hoặc chảy nước trong tai, nên lấy bông gòn cuốn ở đầu tăm làm vệ sinh, sau đó dùng nước rửa oxy già khử trùng cho sạch. Kế tiếp dùng cây tăm có bông gòn thấm dầu dừa và đưa vào trong tai xoa đi xoa lại nhiều lần như massage vậy. Nên làm vài ba lần trong ngày.

Phản ứng hồi phục: Khi sử dụng 2 phương thức 1 và 2, bệnh nhân sẽ có thể, tùy cơ địa của mỗi người, sẽ có những triệu chứng như đi cầu nhiều lần, phân loãng hoặc đau bụng, hoặc ù tai, nhức mỏi… Nhưng tất cả những hiện tượng xẩy ra trên hoàn toàn không phải do dầu dừa mất phẩm chất làm cho cơ thể bị rối loạn, mà là do dầu dừa đã có tác dụng để thải những cặn bã, những chất dư thừa, những độc tố không còn cần thiết cho cơ thể nữa ra bên ngoài. Những triệu chứng trên làm bệnh nhân lo sợ bất chợt, theo Bs Fife, là những phản ứng hồi phục trước khi cơ thể tiến đến giai đoạn được chữa lành.

Khi thực hiện bôi xoa trên các mụn nhọt, bệnh nhân sẽ có thể chưa khỏi hoàn toàn ngay, mà còn có thể nảy sinh nhiều hơn, to hơn, nhưng đây vẫn là dấu hiệu việc đào thải đang có hiệu quả trước khi hồi phục. Tuy nhiên, ta nên phối hợp cùng lúc 2 phương cách kia để trị từ bên trong bệnh phát xuất từ các nội tạng như gan, thận…

Bởi dầu dừa là thực phẩm đầy chức năng, nên khi dùng dầu dừa chữa bệnh sẽ hoàn toàn không gây độc hại gì cho cơ thể ngay cả không tăng cholesterol và có hại cho tim mạch và cũng không gây phản ứng đối với bất cứ loại thuốc gì mà người bệnh đang sử dụng. Chính vì thế, khi sử dụng dầu dừa, bệnh nhân hoàn toàn an tâm và từ sự vững tin này, bệnh tật sẽ mau chóng có hiệu quả thật bất ngờ vì sự đơn giản tột cùng và vì chi phí điều trị vô cùng rẻ tiền!

4. NẤU ĂN BẰNG DẦU DỪA THAY CHO CÁC DẦU ĂN KHÁC:

* Thay thế loại dầu ăn đang dùng bằng dầu dừa là cách dễ dàng nhất trong việc thêm acid béo (ABctb) vào bữa ăn mà không làm tăng tổng số chất béo đưa vào cơ thể. Vì dầu dừa phần chính là chất béo bão hòa (saturated fat), vì thế sức nóng do nấu nướng không tạo ra những gốc tự do như các loại dầu thực vật khác nên an toàn cho sức khỏe. Từ những kết quả của những nghiên cứu đã được thử nghiệm, xem ra dầu dừa là loại dầu lành mạnh cung ứng cho nhiều mục đích bạn có thể dùng.

* Các hiệu dầu dừa tốt có mùi rất nhẹ và bạn có thể dùng để nấu bất cứ loại thực phẩm nào. Hãy thử dầu dừa cho bánh quy, bánh ngọt, bánh nướng… Rất tốt cho chiên rán. Bơ-dầu dừa được hâm cho tan chảy với muối gia vị chan trên cơm, mì sợi hay rau thay cho bơ hay nước sauce.

* Bạn có thể thêm dầu dừa vào hầu hết các lọai thức uống nóng như trà, càphê, chocolate, sữa nóng, vì dầu có khuynh hướng nổi trên mặt, bạn cứ khuấy đều rồi uống, sẽ không thấy vị dầu. Đây là cách nhanh và dễ nhất để thêm dầu dừa vào bữa ăn.

5. DÙNG LÀM MĨ PHẨM CHO DA VÀ TÓC

* Bôi dầu dưỡng da: Rửa sạch mặt và mát xa mặt kỹ bằng cám gạo/cháo gạo lứt xay nhuyễn hoặc loại sữa rửa mặt khô thoáng, bôi đều lên da mặt trước khi đi ngủ. Bôi vùng cổ, da tay, chân, những vùng da bị thô, nhám, trước khi đi ngủ; có thể bôi dầu đã ngâm ấm vào mùa đông để mát xa cho trẻ em/người lớn sau khi tắm. Vùng da mặt chứa các điểm huyệt đạo và là vùng phản chiếu các cơ quan nội tạng trong cơ thể. Mát xa kỹ và bôi dầu lên da mặt cho bạn một cơ thể khỏe khoắn hơn do các cơ quan nội tạng được tác động, kích chấn và chăm sóc bằng dưỡng chất. Khi bôi kết hợp mát xa ở các vùng trên cơ thể sẽ giúp da hấp thu da dưỡng chất tốt hơn.

* Ủ tóc bằng dầu nhằm trị gầu và dưỡng tóc: ngâm ấm lượng dầu dừa đủ làm ướt tóc, mát xa đầu, rồi ủ tóc bằng túi chụp nilông trong vòng 10-15 phút; gội sạch tóc bằng dầu gội. Bạn sẽ có một mái tóc óng, mượt, khỏe, và không bị gầu quấy nhiễu. Theo Tài liệu về Diện chẩn- điều khiển liệu pháp, vùng da đầu phản chiếu da vùng mặt, ủ tóc đồng thời cung cấp dưỡng chất cho da đầu cũng chính là cách làm cho da mặc của bạn không bị khô.

Hãy liên lạc với chúng tôi để được cung cấp thông tin và sản phẩm dầu dừa cao cấp nguyên chất 100%:

Ms. Trang: 0972.899.804 (skype: quynhtrang8489)

Ms. Thương: 0988.149.143 (skype: thuong.nguyen108)

Email: dauduashop@gmail.com; nguyenquynhtrang8489@gmail.com; thương.rongtien@gmail.com Nhận ship toàn quốc: 1. Vietcombank chi nhánh Tân Định: Chủ thẻ Nguyễn Quỳnh Trang – STK 0371000405881 2. NH Đông Á chi nhánh Quận 10: Chủ thẻ Nguyễn Quỳnh Trang – STK 0102606882

Bạn đang đọc nội dung bài viết Tăng Cường Độ Linh Hoạt Với Conda Và Docker trên website Thaiphuminh.com. Hy vọng một phần nào đó những thông tin mà chúng tôi đã cung cấp là rất hữu ích với bạn. Nếu nội dung bài viết hay, ý nghĩa bạn hãy chia sẻ với bạn bè của mình và luôn theo dõi, ủng hộ chúng tôi để cập nhật những thông tin mới nhất. Chúc bạn một ngày tốt lành!