Cai dat docker cent7
--------------updateOS------
yum -y update
yum -y install yum-utils device-mapper-persistent-data lvm2
--------------add Docker Stable Repository-------
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
-------------install docker-ce---------
yum -y install docker-ce
------------Them mot so tuy chon khoi dong service--------
systemctl start docker
systemctl enable docker
systemctl status docker
-------------
Cài đặt Docker Compose
# curl -L "https://github.com/docker/compose/releases/download/1.25.5/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
# chmod +x /usr/local/bin/docker-compose
# ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
Thao tác với docker compose
-------cú pháp dùng docker compose-----
$ docker-compose [-f <arg>...] [options] [COMMAND] [ARGS...]
$ docker-compose -h|--help
---------hiển thị danh sách container--------
$ docker-compose ps
Name Command State Ports
-----------------------------------------------------------------------------------
dockercompose01_product-service_1 python api.py Exit 1
dockercompose01_website_1 docker-php-entrypoint apac ... Exit 0
-------------Tạo/khởi động container------------
$ docker-compose up
---------build/rebuild servive---------------
$ docker-compose build
-------------Xác nhận hoặc hiển thị file config Compose---------
$ docker-compose config
---------Loại bỏ/ngừng container-------------
$ docker-compose rm
------check version
# docker-compose --version
--------Loại bỏ/ngừng docker compose---------
# docker-compose rm
Thao tác với DOCKER
---------list ID các container đang on/off-----------
# docker ps -a
-----------show log của container (tham số --follow để tiếp tục theo dõi log)----------
docker logs --follow your_name_container
-----------build image từ dockerfile và context------------
Lệnh này dùng để build một image từ Dockerfile và context. Context ở đây là một tập file được xác đinh bởi đường dẫn hoặc url cụ thể. Ta có thể sử dụng thêm tham số -t để gắn nhãn cho image.
# docker build -t [your_name_container]
---------liệt kê danh sách các volume mà docker sử dụng-----------
# docker volume ls
---------xóa 1 hoặc nhiều container----------------
# docker rm <list_container_name_or_id>
-------------xóa 1 hoặc nhiều image--------------
# docker rmi <list_image_id>
-----------stop/kill một hoặc nhiều container-----------
# docker stop <list_container_name_or_id>
# docker kill <list_container_name_or_id
Thao tác với docker image
-----------Tìm docker image-----
# docker search [name-image]
---------Tải docker image------
# docker image pull [name-image]
# docker pull mysql
---------list các docker image đang có---------
# docker image ls
-----------Xóa docker image--------
# docker image rm [name-image]
Thao tác với docker container
-----------Khởi chạy một container----------
# docker container run nginx
----------thao tác với container qua CLI (thêm -it bash để chạy container với bash)------------
# docker container run -it nginx /bin/bash
----------list các container đang on/off-----------
# docker container ls -a
---------xóa bỏ container bằng ID----------
# docker container rm 62d49f9bab67
DOCKER RUN
docker run –name <tên_container> -v <thư mục trên máy tính>:<thư mục trong container> -p<port_máy tính>:<port_container> <image name> bash
Ví dụ: docker run –name eva_nginx -p 80:80 -d nginx
docker run : lệnh chạy của docker
–name: đặt tên cho container ở đây là eva_nginx . Name này là duy nhất, không thể tạo trùng, nếu không đặt thì docker tự genate.
-p mở port container ra ngoài IP public 192.168.99.100
-d bật chế độ chạy background
nginx: tên images
docker run -it –name eva_rails -v “$PWD”:/my_app –link eva_mysql:mysql -p 3000:3000 rails bash
Một số optione với docker run:
--detach, -d. Mặc định docker container chạy thì mọi input, output, lỗi được hiện thị trực tiếp trên màn hình terminal. Tuy nhiên với tùy chọn --detach/-d, container sẽ được chạy ngầm vì vậy mọi output, lỗi sẽ không hiển thị.
--entrypoint. Thiết lập hoặc ghi đè các lệnh mặc định khi chạy images. Entrypoint là một tập các lệnh và tham số sẽ chạy đầu tiên khi container được chạy từ image. Bất kỳ câu lệnh và tham số được truyền vào sau docker run sẽ được nối vào entrypoint.
--env, -e Thiết lập biến môi trường sử dụng cặp (key=value). Nếu ta có biến môi trường trong file ta có thể truền nó vào file bằng tùy chọn --env-file.
--ip Khai báo địa chỉ IP cho container
--name Gắn tên cho container
--publish, -p | --publish-all, -P. Do các container của docker được gộp và chạy trong một network riêng nên nó sẽ độc lập với máy chủ mà docker chạy trên đó. Để mở các cổng của network các container và ánh xạ nó với cổng của máy host ta sử dụng tùy chọn --publish, -p. Hoặc sử dụng --publish-all, -P sẽ mở tất cả các cổng của container.
docker run --publish 80:80 <image_name> bash
--rm Tự động xóa container khi nó thoát.
--tty, -t Cấp một terminal ảo cho container. Tùy chọn này thường được sử dụng với --interactive, -i giúp cho STDIN mở ngay cả khi container chạy ở dạng ngầm.
--volume, -v Gắn một volume vào một container, cho phép chúng ta thao tác ở container nhưng dữ liệu vẫn được lưu trữ ở máy chủ.
## docker run --volume /volume_name <image_name> bash
--workdir, -w Chỉ định thư mục sẽ làm việc bên trong container. Giả sử ta sẽ làm việc với thư mục app trong docker
docker run --workdir /app <image_name> bash
Thao tác với docker swarm
Một vài câu lệnh cơ bản của Docker Swarm:
• docker swarm ca: Hiển thị và xoay root CA
• docker swarm init: Khởi tạo một swarm
• docker swarm join: Gia nhập một swarm
• docker swarm join-token: Quản lý join tokens
• docker swarm leave: Rời khỏi swarm
• docker swarm unlock: Unlock swarm
• docker swarm unlock-key: Quản lý unlock key
• docker swarm update: Cập nhật swarm
0 Nhận xét