Docker
Phân biệt lệnh RUN, CMD và ENTRYPOINT trong Dockerfile
Tạo nginx web server
docker run --name web -v /Users/techmaster/Documents/demoweb:/usr/share/nginx/html:ro -d -p 80:80 nginx:alpine
Giải thích
--name: tên của container
-v ánh xạ volume /Users/techmaster/Documents/demoweb ở máy tính hiện tại vào thư mục /usr/share/nginx/html
-d chạy ở chế độ daemon background
-p ánh xạ cổng 80 trong container với host
nginx:alpine lấy image nginx có tag alpine từ docker hub
Tạo node.js web server
Clone dự án actionheror tutorial
git clone https://github.com/evantahler/actionhero-tutorial
FROM node:alpine
# Create app directory
RUN mkdir -p /usr/src/actionhero
WORKDIR /usr/src/actionhero
COPY . /usr/src/actionhero
EXPOSE 8080
RUN npm install
CMD [ "npm", "start" ]
Build image
docker build -t minhcuong/actionhero .
Run image
docker run --name actionhero -p 8080:8080 -d minhcuong/actionhero
Kiểm tra log
docker logs actionhero
Liệt kê tất cả các images
docker images
Liệt kê các các container đang chạy
docker ps
tham khảo thêm http://goinbigdata.com/docker-run-vs-cmd-vs-entrypoint/
Docker cache