Viblo Code
-1

Hướng dẫn tạo docker image từ dockerfile

Hướng dẫn tạo docker image từ docker file

**Step 1: Tạo file dockerfile $ mkdir /opt/centos-lamp $ vim /opt/centos-lamp/dockerfile

Thêm vào file dockerfile với nội dung sau:

FROM centos:6.8
MAINTAINER VietLT ([email protected])
#Install mysql server
RUN yum update -y && yum install -y mysql-server
#Install php
RUN yum install -y php php-mysql
#Install httpd
RUN yum install -y httpd
#Add ssh key
RUN yum install -y openssh-server
COPY le.thanh.viet.sh /var/lib/
COPY sontn.sh /var/lib/
RUN chmod +x /var/lib/*.sh
RUN /var/lib/le.thanh.viet.sh
RUN /var/lib/sontn.sh
EXPOSE 22 8080

Trong đó:

  • FROM: chỉ ra image được build từ image gốc nào.
  • MAINTAINER: dùng để định danh người viết image, có thể có hoặc không.
  • RUN: Thực thi lệnh trên hệ thống của image.
  • COPY: copy file từ local host vào thư mục trong image.
  • EXPOSE: xác định các port sẽ được container lắng nghe trong khi chạy.

**Step 2: Tạo file script add ssh key trên local host tên le.thanh.viet.sh và đặt trong thư mục /opt/centos-lamp với nội dung:

useradd -u 20527 -d /home/le.thanh.viet -s /bin/bash -m le.thanh.viet -G wheel mkdir /home/le.thanh.viet/.ssh echo "ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAk1TFvqVeE6I4Xl2UJCnlL49Bp+bVcP1F1Pe3UsLNN0cehcLRlST0P3dxCs29uwE7m2WS1CSAiyuzp6bnLEf9T/kArGEfrC/A58QGDtzOYNwy5LWNJN+Y0KhxIg/t61L8cs9p0LOssiueGFGZG/wRw+kdzpk2EMc9TuSkZKOzLqnPhRYyK2fCWHoCUvbclqcGzRRkdJTFlUrZCCDZ6PGClUzbFyTg0opdvhN/6H/PO8HNF3M9TC9tdkT6Q3bK4uiD4xYd3Hkssb/McKH6KV4gkMKtVQjRNoJfT683P5GbUN89PDWskx50AoX2fcaao9vjblQC59CvdizeZWDUftpiow== [email protected]" > /home/le.thanh.viet/.ssh/authorized_keys chown -R le.thanh.viet:le.thanh.viet /home/le.thanh.viet/.ssh chmod 700 -R /home/le.thanh.viet/.ssh chmod 600 -R /home/le.thanh.viet/.ssh/*

**Step 3: Build docker image $ docker build -t daiphuthuy/centos-lamp

**Step 4: Chạy thử image $ docker run -it -P daiphuthuy/centos-lamp /bin/bash Mở 1 tab ssh mới đánh lệnh: $ docker ps Thấy xuất hiện container với image vừa build.


All Rights Reserved

Viblo
Let's register a Viblo Account to get more interesting posts.