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 -yCentOS / RHEL / Fedora:
$ sudo dnf install curl -yVienreiz 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 versijaTam 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.04Palaidiet 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 / bashGIT_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 psKā 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:
$ ipManā 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: //
Šeit,
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.