輸入參數後,頁面中的代碼塊將自動更新。
更新系統並安裝 Docker,為容器化做好準備。
sudo apt update && sudo apt upgrade -y
sudo apt install -y curl wget gnupg apt-transport-https ca-certificates software-properties-common
# 安裝 Docker
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io
# 啟動與權限
sudo systemctl enable docker && sudo systemctl start docker
sudo usermod -aG docker $USER
建立結構化的目錄以管理不同容器的配置。
mkdir -p ~/docker-setup/nginx-trojan/ssl
mkdir -p ~/docker-setup/simple-app
cd ~/docker-setup
# 請先點擊上方生成按鈕
# 請先點擊上方生成按鈕
FROM nginx:alpine
# 安裝依賴
RUN apk add --no-cache --virtual .build-deps \
cmake boost-dev openssl-dev mariadb-connector-c-dev build-base git \
&& git clone https://github.com/trojan-gfw/trojan.git \
&& cd trojan && cmake . && make -j$(nproc) && make install \
&& cd .. && rm -rf trojan && apk del .build-deps
RUN mkdir -p /etc/ssl/certs /etc/ssl/private /etc/trojan
COPY nginx.conf /etc/nginx/conf.d/default.conf
COPY trojan.json /etc/trojan/
COPY ssl/cert.pem /etc/ssl/certs/
COPY ssl/key.pem /etc/ssl/private/
COPY index.html /usr/share/nginx/html/
COPY start.sh /start.sh
RUN chmod +x /start.sh
EXPOSE 80 443
CMD ["/start.sh"]
構建鏡像並啟動服務。
# 1. 建立 Docker 網路
docker network create my-network
# 2. 構建鏡像
cd ~/docker-setup/nginx-trojan
docker build -t container-a .
cd ~/docker-setup/simple-app
docker build -t container-b .
# 3. 運行容器
docker run -d --name container-a --network my-network -p 80:80 -p 443:443 container-a
docker run -d --name container-b --network my-network container-b