DevOPS Docker

Build Apache Traffic Server (ATS) trên docker

Giới Thiệu

Apache Traffic Server là một máy chủ proxy lưu trữ có thể mở rộng có khả năng xử lý đồng thời một khối lượng lớn request trong lúc đang duy trì độ trễ rất thấp. Khi so sánh với các máy chủ proxy đang phổ biến khác như là Varnish hay Squid, Apache Traffic Server tiêu tốn ít dung lượng hơn và xử lí nhanh hơn. Nó cũng được thiết kế để tận dụng tối đa các bộ xử lí đa nhân hiện nay. Tuỳ thuộc vào yêu cầu của bạn, bạn có thể dùng nó như một reverse proxy hay như một forward proxy.

Bài hướng dẫn này sẽ bao gồm làm thế nào để cài đặt Apache Traffic Server trên Ubuntu 14.04 và cấu hình nó để nó hoạt động như một reverse proxy lưu trữ.

Bắt đầu nào.

1/ entrypoint.sh
đầu tiên chúng ta sẽ tạo ra một file “entrypoint.sh”, file này sẽ start tiến trình của ATS.

#!/bin/bash
set -eu

/bin/bash /webserver/ats/bin/trafficserver start

check="true"
while [ "$check" == "true" ]
do
    echo "running !!!" > /var/log/check.log
done
exec "$@"

2/ Dockerfile

Tiếp  đến là Dockerfile, dùng để cài đặt và build ATS của chúng ta.

FROM ubuntu:18.04 
ENV TZ=Asia/Ho_Chi_Minh
ENV DEBIAN_FRONTEND=noninteractive
RUN  apt update -y \
   && apt install -y curl \
         build-essential \
         bzip2 \
         libssl-dev \
         libxml2-dev \
         libpcre3-dev \
         tcl-dev \
         libboost-dev \
         tzdata  \
         git automake  autoconf libtool  \
   && ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone \
   && cd /tmp \
   && git clone https://github.com/apache/trafficserver.git \
   && cd trafficserver \
   && autoreconf -if \
   && ./configure --prefix=/webserver/ats \
   && make  \
   && make install \
   && apt-get purge --auto-remove -y \
        curl \
        build-essential \
        bzip2 \
        libssl-dev \
        libxml2-dev \
        libpcre3-dev \
        tcl-dev \
        libboost-dev \
        git automake  autoconf libtool \
   && apt-get clean \
   && rm -rf /tmp/* /var/lib/apt/lists/* \

WORKDIR /webserver
EXPOSE 8080
ADD entrypoint.sh /entrypoint.sh
RUN chmod +x /entrypoint.sh
CMD ["/entrypoint.sh"]

3/ docker-compose.yaml

version: '3'
services:

  apache-traffic:
    container_name: apache-traffic
    image: "apache-traffic-server"
    ports:
     - "8080:8080"
    restart: always

4/ Build Images

Sau khi đã tạo các file trên, đặt chúng cùng chung một thư mục và chạy command để tiến hành build:

docker build -t apache-traffic-server.

để start ATS với images vừa build, sử dụng command sau để start docker-compose ( lưu ý, bạn phải cài đặt docker-compose trước)

docker-compose up -d

done, chúc bạn thành công !!

Add Comment

Click here to post a comment