Laradock国内でミラーを外す時に非常に遅い問題を解決します.


前言
Laradockがとても使いやすいのは間違いないですが、国内では鏡を引く時がとても遅いです.LNMPを構築することを例にして、この状況を解決します.
まず、何度もインストールしたことがありますが、下記の特徴を発見しました.
  • nvmはとても遅いです.nodejsによってインストールされた
  • はもっと遅いです.
  • nvmまたはworkspaceシステムを使用したミラーがubuntuを実行する時に非常に遅い限り、
  • この2つの原因は、コンテナを起動するたびに、ミラーが存在しない場合には、時間が長くなります.また、時々apt-get update | apt-get install xxxをエラーとして報告します.ですから、この2つの問題の解決策を見てみます.
    NVMの遅い問題timeout注を設置します.以下の手順は技術上の理由で、Laradockオフィシャル倉庫にまだ提出していません.皆さん、私のForkのプロジェクトを参照してください.
    簡単な変更方法NVM_NODEJS_ORG_MIRRORに入ってworkspaceを開いて、Dockerfileの前に1ラインの命令を追加します.RUN if [ ${INSTALL_NODE} = true ]ENV NVM_NODEJS_ORG_MIRROR=https://npm.taobao.org/mirrors/nodeをインストールする時にどのミラーからソースファイルをダウンロードするかを設定したパラメータです.設定後、nvmがインストールするのは速いです.
    もっと簡単な方法
    オープンnodejs設定nodejsWORKSPACEの遅い問題
    スクリプトを提供し、.envシステムのWORKSPACE_INSTALL_NODE=falseに従って同じディレクトリに置いた後、最初の実行Ubuntuの前に2つの行を追加します.
  • Dockerfile
  • apt-get update
  • 原理は簡単で、COPY ./sources.sh /tmp/sources.shミラーソースを修正して、国内ソースに変更します.上の命令の意味は、指定されたディレクトリにファイルをコピーして実行します.
    ミラーソースをRUN ./tmp/sources.sh aliyunで修正したいですが、エラーが発生しました.興味があるのはubuntuRUN if xxのプロジェクトです.解決してください.スクリプト:
    #!/bin/bash
    
    if type "tee" 2>/dev/null && [ -n "$1" ]; then
        SOURCE_PATH="/etc/apt/sources.list"
        cp ${SOURCE_PATH} ${SOURCE_PATH}.bak && rm -rf ${SOURCE_PATH}
        case "$1" in
            "aliyun")
                tee ${SOURCE_PATH} <