Hướng dẫn tạo docker image từ dockerfile
Bài đăng này đã không được cập nhật trong 8 năm
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 (le.thanh.viet@framgia.com)
#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== le.thanh.viet@le.thanh.viet" > /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