Docker

Gocki HTTP-serveri seadistamine Dockeris

Gocki HTTP-serveri seadistamine Dockeris
Git HTTP server on väga kasulik inimestele, kes soovivad projektides privaatselt töötada ja koostööd teha. Selles artiklis näitan teile, kuidas seadistada Docker Compose'i abil HTTP-le juurdepääsetav Git-server.  Alustame siis.

Nõuded:

Selle artikli järgimiseks peab teie arvutisse olema installitud Docker. LinuxHintil on palju artikleid, mida saate järgida Dockeri installimiseks soovitud Linuxi jaotisse, kui te pole seda veel installinud. Seega kontrollige kindlasti LinuxHinti.com juhul, kui teil on probleeme Dockeri installimisega.

Docker Compose'i installimine:

Docker Compose binaarfaili saate järgmise käsuga hõlpsalt alla laadida:

$ 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

MÄRGE: lokkima ei pruugi teie Linuxi distributsiooni installida. Sel juhul saate curli installida järgmise käsuga:

Ubuntu / Debian / Linux Mint:

$ sudo apt install curl -y

CentOS / RHEL / Fedora:

$ sudo dnf install curl -y

Ükskord dokk-komponeerima binaarfail on alla laaditud, käivitage järgmine käsk:

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

Nüüd kontrollige, kas dokk-komponeerima käsk töötab järgmiselt:

$ docker-compose versioon

See peaks printima versiooni teabe, nagu on näidatud alloleval ekraanipildil.

Dockeri kirjutamise seadistamine projekti jaoks:

Nüüd looge projekti kataloog ~ / dokkija / gitserver (ütleme nii) ja a repod / ja jne/ projekti kataloogis olev git hoidlate ja mõne konfiguratsioonifaili hoidmiseks.

$ mkdir -p ~ / docker / gitserver / repod jne

Nüüd navigeerige projekti kataloogi ~ / dokkija / gitserver järgnevalt:

$ cd ~ / docker / gitserver

Nii peaks projekti puu välja nägema. Siin on mul 2 faili, git.konf ja git-loo-repo.sh aastal jne/ kataloogi. Tühi repod / kataloog kõigi Giti hoidlate hoidmiseks. A gitserver.Dockerfile kohandatud Git HTTP serveri Dockeri konteineri ja a dokk-komponeerima.yaml faili.

Programmi sisu gitserver.Dockerfile:

Ubuntust: 18.04
Käivitage apt update 2> / dev / null
KÄIVITA apt install -y git apache2 apache2-utils 2> / dev / null
RUN a2enmod env cgi alias kirjutada
KÄIVITA mkdir / var / www / git
RUN chown -Rfv www-data: www-data / var / www / git
KOOPIA ./ etc / git.conf / etc / apache2 / sites-available / git.konf
KOOPIA ./ etc / git-create-repo.sh / usr / bin / mkrepo
Käivitage chmod + x / usr / bin / mkrepo
RUN a2dissite 000-vaikimisi.konf
RUN a2ensite git.konf
RUN git config - süsteem http.Receivepack true
RUN git config - süsteem http.uploadpack true
ENV APACHE_RUN_USER www-andmed
ENV APACHE_RUN_GROUP www-andmed
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 EELTULE
KOKKUPUUDE 80 / tk

Sisu sisu etc / git.konf Apache'i konfiguratsioonifail:


ServerAdmini veebimeister @ localhost
 
SetEnv GIT_PROJECT_ROOT / var / www / git
SetEnv GIT_HTTP_EXPORT_ALL
ScriptAlias ​​/ / usr / lib / git-core / git-http-backend /
 
Alias ​​/ / var / www / git
 

Valikud + ExecCGI -MultiViews + SymLinksIfOwnerMatch
AllowOverride Puudub
Nõua kõik lubatud

 
DocumentRoot / var / www / html
 

Valikud Indeksid FollowSymLinks MultiViews
AllowOverride Puudub
Nõua kõik lubatud

ErrorLog $ APACHE_LOG_DIR / viga.logi
LogLevel hoiatab
CustomLog $ APACHE_LOG_DIR / juurdepääs.palk kokku

Programmi sisu etc / git-create-repo.sh Shelli skript:

#!/ 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 - paljas &> / dev / null
puudutage git-daemon-export-ok
cp konksud / värskendusjärgne.proovikonksud / värskendusjärgne
git update-server-info
chown -Rf www-data: www-data "$ GIT_DIR / $ REPO_NAME.git "
kaja "Giti hoidla" $ REPO_NAME ", mis on loodud asukohas $ GIT_DIR / $ REPO_NAME.git "

Lõpuks, sisu dokk-komponeerima.yaml fail:

versioon: "3.7 "
teenused:
git-server:
ehitada:
dockerfile: gitserver.Dockerfile
Sisu: .
taaskäivitage: alati
sadamad:
- "8080: 80"
mahud:
- ./ repos: / var / www / git

Giti HTTP-serveri dokkimispildi loomine:

Nüüd Git HTTP Serveri dokkimispildi loomiseks käivitage järgmine käsk:

$ docker-compose järk

Kohandatud Dockeri pildi loomiseks võib kuluda aega.

Siinkohal tuleks ehitada Dockeri pilt.

Alati, kui teete mis tahes muudatusi gitserver.Dockerfile, jne / git.konf, etc / git-create-repo.sh faili, peate Dockeri pildi uuesti üles ehitama dokkija-komponeeritav ehitis käsk.

Giti HTTP-serveri käivitamine:

Nüüd, et alustada git-server teenuse käivitage järgmine käsk:

$ docker-compose up -d

The git-server teenus peaks algama taustal.

Pordide kaardistamise nägemiseks käivitage järgmine käsk:

$ docker-compose ps

Nagu näete, git-server teenus, Dockeri hostisadam 8080 on kaardistatud konteineri TCP-porti 80.

Uue Giti hoidla loomine serveris:

Uue Giti hoidla loomiseks test (oletame) Git HTTP-serveri konteineris käivitage järgmine käsk:

$ docker-compose exec git-server mkrepo test

Uus Giti hoidla test tuleks luua.

Dockeri hosti IP-aadressi leidmine:

Kui soovite Git HTTP-serverile juurde pääseda teistest võrgu arvutitest, peate teadma oma Dockeri hosti IP-aadressi.

Dockeri hosti IP-aadressi leidmiseks käivitage järgmine käsk:

$ ip

Minu puhul minu Dockeri hosti IP-aadress 192.168.20.160. Teie jaoks on see erinev. Niisiis, asendage see edaspidi kindlasti oma omaga.

Giti hoidlatele pääsemine serverist:

Giti hoidlatele pääsete juurde serveris, kasutades URL-i http: //: 8080 /.git

Siin,

on teie Dockeri hosti IP-aadress.

on Giti HTTP-serveri Giti hoidla nimi.

Nii et minu puhul test hoidlas peaks URL olema http: // 192.168.20.160: 8080 / test.git

Nüüd saate test Giti hoidla serverist kloonida järgmiselt:

$ giti kloon http: // 192.168.20.160: 8080 / test.git

Nagu näete, kloonitakse hoidla edukalt. Kuid see on praegu tühi.

Uus kataloog test / tuleks luua.

$ ls

Navigeerige lehele test / kataloogi.

$ cd test /

Tehke nüüd mõned muudatused ja tehke see.

$ echo "welcome to git-server"> sõnum.txt
$ git lisa -A
$ git pühendus -m 'esialgne kohustus'
$ git log - oneline

Nüüd lükake muudatused serverisse järgmiselt:

$ git push päritolumeister

Nagu näete, saadetakse toimingud edukalt Giti HTTP-serverisse.

Nüüd saab keegi teine ​​kloonida ka test Giti hoidla.

$ giti kloon http: // 192.168.20.160: 8080 / test.git

Navigeerige lehele test / kataloogi.

$ cd test /

Ja leidke muudatused sealt.

Giti HTTP-serveri peatamine:

Selle peatamiseks git-server teenuse käivitage järgmine käsk:

$ docker-compose down

The git-server teenus tuleks lõpetada.

Nii seadistate Dockeri abil Giti HTTP-serveri. Täname selle artikli lugemise eest.

Tomb Raider for Linuxi õpetus
Shadow of the Tomb Raider on kaheteistkümnes täiendus seeria Tomb Raider - tegevus- ja seiklusmängude frantsiisile, mille on loonud Eidos Montreal. Ni...
Kuidas FPS-i suurendada Linuxis?
FPS tähistab Kaadrit sekundis. FPS-i ülesanne on mõõta kaadrisagedust video taasesitamisel või mängude esitamisel. Lihtsamalt öeldes nimetatakse iga s...
Parimad Oculus App Lab mängud
Kui olete Oculuse peakomplekti omanik, peate olema teadlik külglaadimisest. Kõrvalaadimine on protsess, millega installitakse peakomplekti mitte-poesi...