Dokkmunkás

Git HTTP kiszolgáló beállítása a Dockeren

Git HTTP kiszolgáló beállítása a Dockeren
A Git HTTP szerver nagyon hasznos azok számára, akik privát módon szeretnének dolgozni és együttműködni a projektekben. Ebben a cikkben bemutatom, hogyan állíthat be egy HTTP-hozzáférhető Git-kiszolgálót a Docker Compose használatával.  Tehát kezdjük.

Követelmények:

A cikk követéséhez telepítenie kell a Dockert a számítógépére. A LinuxHint sok cikket tartalmaz, amelyeket követhet a Docker telepítéséhez a kívánt Linux disztribúcióra, ha még nincs telepítve. Tehát mindenképpen ellenőrizze a LinuxHint alkalmazást.com arra az esetre, ha problémái adódnak a Docker telepítésével.

A Docker Compose telepítése:

A Docker Compose bináris fájlt nagyon egyszerűen letöltheti a következő paranccsal:

$ sudo curl -L "https: // github.com / docker / compose / releases / download / 1.24.1 /
docker-compose - $ (uname -s) - $ (uname -m) "-o / usr / local / bin / docker-compose

JEGYZET: becsavar lehet, hogy nincs telepítve a Linux disztribúcióra. Ebben az esetben a curl programot a következő paranccsal telepítheti:

Ubuntu / Debian / Linux Mint:

$ sudo apt install curl -y

CentOS / RHEL / Fedora:

$ sudo dnf install curl -y

Egyszer dokkoló-ír bináris fájl letöltve, futtassa a következő parancsot:

$ sudo chmod + x / usr / local / bin / docker-compose

Most ellenőrizze, hogy dokkoló-ír parancs a következőképpen működik:

$ docker-compose verzió

Ki kell nyomtatnia a verzióinformációt az alábbi képernyőképen látható módon.

A Docker Compose beállítása a projekthez:

Most hozzon létre egy projekt könyvtárat ~ / dokkoló / gitserver (mondjuk) és a repók / és stb/ könyvtár a projekt könyvtárban a git tárolók és néhány konfigurációs fájl megőrzéséhez.

$ mkdir -p ~ / docker / gitserver / repók stb.

Most keresse meg a projekt könyvtárat ~ / dokkoló / gitserver alábbiak szerint:

$ cd ~ / docker / gitserver

Így kell kinéznie a projekt fának. Itt van 2 fájlom, git.konf és git-create-repo.SH ban,-ben stb/ Könyvtár. Egy üres repók / könyvtár az összes Git-tár tárolásához. A gitserver.Dockerfile egyedi Git HTTP szerver Docker tároló felépítéséhez és a dokkoló-ír.yaml fájl.

A. Tartalma gitserver.Dockerfile:

Az ubuntuból: 18.04
Futtassa az apt 2. frissítést> / dev / null
RUN apt apt -y git apache2 apache2-utils 2> / dev / null
RUN a2enmod env cgi alias átírni
RUN mkdir / var / www / git
RUN chown -Rfv www-data: www-data / var / www / git
MÁSOLAT ./ etc / git.conf / etc / apache2 / sites-available / git.konf
MÁSOLAT ./ etc / git-create-repo.sh / usr / bin / mkrepo
RUN futtassa a chmod + x / usr / bin / mkrepo parancsot
RUN a2dissite 000-default.konf
RUN a2ensite git.konf
RUN git config - rendszer http.Receivepack true
RUN git config - rendszer http.uploadpack true
ENV APACHE_RUN_USER www-adatok
ENV APACHE_RUN_GROUP www-adatok
ENV APACHE_LOG_DIR / var / log / apache2
ENV APACHE_LOCK_DIR / var / lock / apache2
ENV APACHE_PID_FILE / var / run / apache2.pid
CMD / usr / sbin / apache2ctl -D ELŐRE
80-as expozíció / tcp

A tartalom etc / git.konf Apache konfigurációs fájl:


ServerAdmin webmester @ localhost
 
SetEnv GIT_PROJECT_ROOT / var / www / git
SetEnv GIT_HTTP_EXPORT_ALL
ScriptAlias ​​/ / usr / lib / git-core / git-http-backend /
 
Álnév / / var / www / git
 

Opciók + ExecCGI -MultiViews + SymLinksIfOwnerMatch
Nincs AllowOverride
Minden megköveteltet megkövetel

 
DocumentRoot / var / www / html
 

Opciók Indexek FollowSymLinks MultiViews
Nincs AllowOverride
Minden megköveteltet megkövetel

ErrorLog $ APACHE_LOG_DIR / hiba.napló
A LogLevel figyelmeztet
CustomLog $ APACHE_LOG_DIR / hozzáférés.rönk együtt

A. Tartalma etc / git-create-repo.SH Shell szkript:

#!/ bin / bash
 
GIT_DIR = "/ var / www / git"
REPO_NAME = $ 1
 
mkdir -p "$ GIT_DIR / $ REPO_NAME.git "
cd "$ GIT_DIR / $ REPO_NAME.git "
 
git init - csupasz &> / dev / null
érintse meg a git-daemon-export-ok gombot
cp horgok / frissítés utáni.minta horgok / frissítés utáni
git update-server-info
chown -Rf www-data: www-data "$ GIT_DIR / $ REPO_NAME.git "
"$ REPO_NAME" Git-tároló létrehozva itt: $ GIT_DIR / $ REPO_NAME.git "

Végül a dokkoló-ír.yaml fájl:

verzió: "3.7 "
szolgáltatások:
git-server:
épít:
dockerfile: gitserver.Dockerfile
kontextus: .
újraindítás: mindig
portok:
- "8080: 80"
kötetek:
- ./ repos: / var / www / git

Git HTTP Server Docker kép építése:

Most a Git HTTP Server dokkoló képének elkészítéséhez futtassa a következő parancsot:

$ docker-compose build

Egy egyedi Docker-kép elkészítése eltarthat egy ideig.

Ezen a ponton fel kell építeni a Docker képet.

Valahányszor bármilyen módosítást végez a gitserver.Dockerfile, etc / git.konf, etc / git-create-repo.SH fájlt, a Docker képet a dokkoló-komponáló felépítés parancs.

A Git HTTP Server indítása:

Most kezdjem a git-server szolgáltatás futtassa a következő parancsot:

$ docker-compose up -d

A git-server a szolgáltatásnak a háttérben kell kezdődnie.

A portok leképezésének megtekintéséhez futtassa a következő parancsot:

$ docker-compose ps

Mint láthatja, a git-server szolgáltatás, a Docker gazdagép portja 8080 a konténer TCP portjához van hozzárendelve 80.

Új Git-tár létrehozása a szerveren:

Új Git-tár létrehozása teszt (tegyük fel) a Git HTTP kiszolgáló tárolóján futtassa a következő parancsot:

$ docker-compose exec git-server mkrepo teszt

Új Git-tár teszt létre kell hozni.

A Docker Host IP-címének megkeresése:

Ha a hálózat más számítógépeiről szeretne hozzáférni a Git HTTP szerverhez, akkor tudnia kell a Docker gazdagép IP-címét.

A Docker-állomás IP-címének megtalálásához futtassa a következő parancsot:

$ ip

Esetemben a Docker gazdagépem IP-címét 192.168.20.160. Neked más lesz. Tehát mindenképpen cserélje le mostantól a sajátjára.

Hozzáférés a Git adattárakhoz a szerverről:

A Git adattárakhoz a kiszolgálón férhet hozzá a http: // URL használatával: 8080 /.git

Itt,

a Docker Host IP-címe.

a Git-tárház neve a Git HTTP-kiszolgálón.

Tehát az én esetemben a teszt adattárban az URL-nek http: // 192 kell lennie.168.20.160: 8080 / teszt.git

Most a következő módon klónozhatja a teszt Git adattárat a szerverről:

$ git klón http: // 192.168.20.160: 8080 / teszt.git

Mint látható, az adattár klónozása sikeres. De jelenleg üres.

Új könyvtár teszt/ létre kell hozni.

$ ls

Navigáljon a teszt/ Könyvtár.

$ cd teszt /

Végezzen el néhány változtatást és hajtsa végre.

$ echo "welcome to git-server"> üzenet.txt
$ git add -A
$ git elkötelezettség -m 'kezdeti elkötelezettség'
$ git log - online

Most a következőképpen nyomja meg a módosításokat a kiszolgálón:

$ git push origó mester

Amint láthatja, az elkötelezettségeket sikeresen elküldte a Git HTTP szervernek.

Most valaki más klónozhatja a teszt Git adattárat is.

$ git klón http: // 192.168.20.160: 8080 / teszt.git

Navigáljon a teszt/ Könyvtár.

$ cd teszt /

És ott találja meg a változásokat.

A Git HTTP-kiszolgáló leállítása:

Megállítani a git-server szolgáltatás futtassa a következő parancsot:

$ docker-compose down

A git-server a szolgáltatást le kell állítani.

Így állította be a Git HTTP szervert a Docker használatával. Köszönjük, hogy elolvasta ezt a cikket.

Hogyan lehet rögzíteni és streamelni a játékmenetét Linuxon
Korábban a játékokat csak hobbinak tekintették, de az idő múlásával a játékipar hatalmas növekedést ért el a technológia és a játékosok száma szempont...
A legjobb játékok kézi követéssel
Az Oculus Quest nemrégiben bemutatta a vezérlés nélküli kézi követés nagyszerű ötletét. Az egyre növekvő számú játékkal és tevékenységgel, amelyek tám...
Az OSD-fedvény megjelenítése teljes képernyős Linux-alkalmazásokban és játékokban
Teljes képernyős játékok lejátszása vagy alkalmazások figyelemelterelés nélküli, teljes képernyős módban történő használata elvághatja a panelen vagy ...