Dokers

Iestatiet Git HTTP serveri Docker

Iestatiet Git HTTP serveri Docker
Git HTTP serveris ir ļoti noderīgs cilvēkiem, kuri vēlas strādāt un sadarboties projektos privāti. Šajā rakstā es parādīšu, kā iestatīt HTTP pieejamu Git serveri, izmantojot Docker Compose.  Tātad, sāksim darbu.

Prasības:

Lai sekotu šim rakstam, datorā jābūt instalētai Docker. LinuxHint ir daudz rakstu, kurus varat sekot, lai instalētu Docker vēlamajā Linux izplatīšanā, ja jums tas vēl nav instalēts. Tāpēc noteikti pārbaudiet LinuxHint.com gadījumā, ja rodas problēmas ar Docker instalēšanu.

Docker Compose instalēšana:

Docker Compose bināro failu var ļoti viegli lejupielādēt, izmantojot šādu komandu:

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

PIEZĪME: čokurošanās var nebūt instalēta jūsu Linux izplatīšanā. Tādā gadījumā jūs varat instalēt čokurošanos ar šādu komandu:

Ubuntu / Debian / Linux Mint:

$ sudo apt install curl -y

CentOS / RHEL / Fedora:

$ sudo dnf install curl -y

Vienreiz dokotājs-sacerēt binārs fails ir lejupielādēts, izpildiet šādu komandu:

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

Tagad pārbaudiet, vai dokotājs-sacerēt komanda darbojas šādi:

$ docker-compose versija

Tam vajadzētu izdrukāt informāciju par versiju, kā parādīts zemāk esošajā ekrānuzņēmumā.

Docker Compose iestatīšana projektam:

Tagad izveidojiet projekta direktoriju ~ / docker / gitserver (teiksim) un a repo / un utt / direktoriju projekta direktorijā, lai saglabātu git krātuves un dažus konfigurācijas failus.

$ mkdir -p ~ / docker / gitserver / repo utt.

Tagad dodieties uz projekta direktoriju ~ / docker / gitserver sekojoši:

$ cd ~ / docker / gitserver

Šādi jāizskatās projekta kokam. Lūk, man ir 2 faili, git.konf un git-create-repo.sh iekš utt / direktorijā. Tukša repo / direktoriju visu Git krātuvju glabāšanai. A gitserver.Dockerfile pielāgota Git HTTP servera Docker konteinera un a dokotājs-sacerēt.yaml failu.

Programmas saturs gitserver.Dockerfile:

NO ubuntu: 18.04
Palaidiet 2. atjauninājumu> / dev / null
Palaidiet apt install -y git apache2 apache2-utils 2> / dev / null
RUN a2enmod env cgi alias pārrakstīt
Palaidiet mkdir / var / www / git
RUN chown -Rfv www-data: www-data / var / www / git
KOPIJA ./ etc / git.conf / etc / apache2 / sites-available / git.konf
KOPIJA ./ etc / git-create-repo.sh / usr / bin / mkrepo
Palaidiet chmod + x / usr / bin / mkrepo
RUN a2dissite 000-noklusējums.konf
RUN a2ensite git.konf
RUN git config - sistēma http.Receivepack true
RUN git config - sistēma http.uploadpack true
ENV APACHE_RUN_USER www dati
ENV APACHE_RUN_GROUP www dati
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 Priekšplāns
IEDARBĪBA 80 / tcp

Programmas saturs utt / git.konf Apache konfigurācijas fails:


ServerAdmin tīmekļa pārzinis @ 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
 

Opcijas + ExecCGI -MultiViews + SymLinksIfOwnerMatch
AllowOverride None
Pieprasīt visu piešķirto

 
DocumentRoot / var / www / html
 

Opcijas Indeksi FollowSymLinks MultiViews
AllowOverride None
Pieprasīt visu piešķirto

ErrorLog $ APACHE_LOG_DIR / kļūda.žurnāls
Brīdina LogLevel
CustomLog $ APACHE_LOG_DIR / piekļuve.baļķis kopā

Programmas saturs etc / git-create-repo.sh Apvalka skripts:

#!/ 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 - kails &> / dev / null
pieskarieties git-daemon-export-ok
cp āķi / pēc atjaunināšanas.āķu paraugi / pēcatjaunināšana
git update-server-info
chown -Rf www-data: www-data "$ GIT_DIR / $ REPO_NAME.git "
atbalss "Git repozitorijs '$ REPO_NAME" izveidots šeit: $ GIT_DIR / $ REPO_NAME.git "

Visbeidzot, saturs dokotājs-sacerēt.yaml fails:

versija: "3.7 "
pakalpojumi:
git-serveris:
būvēt:
dockerfile: gitserver.Dockerfile
konteksts: .
restartēt: vienmēr
ostas:
- "8080: 80"
apjomi:
- ./ repos: / var / www / git

Git HTTP Server Docker attēla veidošana:

Tagad, lai izveidotu Git HTTP Server docker attēlu, izpildiet šādu komandu:

$ docker-compose būvējums

Pielāgota Docker attēla izveide var aizņemt kādu laiku.

Šajā brīdī vajadzētu izveidot Docker attēlu.

Ikreiz, kad veicat izmaiņas kādā no gitserver.Dockerfile, utt / git.konf, etc / git-create-repo.sh failu, jums ir jāatjauno Docker attēls, izmantojot docker-sastādīt būvēt komandu.

Git HTTP servera palaišana:

Tagad, lai sāktu git-serveris pakalpojumu, palaidiet šādu komandu:

$ docker-compose up -d

The git-serveris pakalpojums jāsāk fonā.

Lai redzētu, kā porti tiek kartēti, izpildiet šādu komandu:

$ dokers-sacer ps

Kā redzat, par git-serveris pakalpojumu, Docker resursdatora portu 8080 ir kartēts ar konteinera TCP portu 80.

Jaunas Git krātuves izveide serverī:

Lai izveidotu jaunu Git repozitoriju pārbaude (teiksim) Git HTTP servera konteinerā izpildiet šādu komandu:

$ docker-compose exec git-servera mkrepo tests

Jauna Git krātuve pārbaude būtu jāizveido.

Docker Host IP adreses atrašana:

Ja vēlaties piekļūt Git HTTP serverim no citiem tīkla datoriem, jums jāzina sava Docker resursdatora IP adrese.

Lai atrastu Docker resursdatora IP adresi, izpildiet šādu komandu:

$ ip

Manā gadījumā mana Docker resursdatora IP adrese 192.168. lpp.20.160. Jums būs savādāk. Tātad, turpmāk noteikti nomainiet to ar savu.

Piekļuve Git krātuvēm no servera:

Git krātuvēm varat piekļūt serverī, izmantojot vietrādi URL: http: //: 8080 /.git

Šeit,

ir jūsu Docker resursdatora IP adrese.

ir Git repozitorija nosaukums Git HTTP serverī.

Tātad, manā gadījumā par pārbaude repozitorija vietrādim URL jābūt http: // 192.168. lpp.20.160: 8080 / tests.git

Tagad jūs varat klonēt testa Git repozitoriju no servera šādi:

$ git klons http: // 192.168. lpp.20.160: 8080 / tests.git

Kā redzat, krātuve tiek veiksmīgi klonēta. Bet tas pašlaik ir tukšs.

Jauns direktorijs pārbaude/ būtu jāizveido.

$ ls

Pārejiet uz pārbaude/ direktorijā.

$ cd tests /

Tagad veiciet dažas izmaiņas un izdariet to.

$ echo "welcome to git-server"> ziņojums.txt
$ git pievienot -A
$ git saistības -m 'sākotnējā saistība'
$ git log - tiešsaistē

Tagad nospiediet izmaiņas serverī šādi:

$ git push izcelsmes meistars

Kā redzat, saistības tiek veiksmīgi nosūtītas uz Git HTTP serveri.

Tagad kāds cits var arī klonēt testa Git repozitoriju.

$ git klons http: // 192.168. lpp.20.160: 8080 / tests.git

Pārejiet uz pārbaude/ direktorijā.

$ cd tests /

Un atrodiet izmaiņas tur.

Git HTTP servera apturēšana:

Lai apturētu git-serveris pakalpojumu, palaidiet šādu komandu:

$ docker-compose down

The git-serveris pakalpojums ir jāpārtrauc.

Tātad, tā jūs iestatījāt Git HTTP serveri, izmantojot Docker. Paldies, ka izlasījāt šo rakstu.

Tomb Raider for Linux apmācība
Tomb Raider ēna ir divpadsmitais papildinājums Tomb Raider sērijai - darbības piedzīvojumu spēļu franšīzei, kuru izveidoja Eidos Montreal. Spēli gan k...
Kā palielināt FPS Linux?
FPS apzīmē Kadri sekundē. FPS uzdevums ir izmērīt kadru ātrumu video atskaņošanā vai spēļu izrādēs. Vienkāršos vārdos nepārtrauktu pilnekrāna attēlu s...
Populārākās Oculus App Lab spēles
Ja esat Oculus austiņu īpašnieks, jums ir jāsazinās par sānu ielādi. Sānu ielāde ir process, kurā austiņās tiek instalēts saturs, kas nav veikals. Sid...