Π˜ΡΡ‚ΠΎΡ€ΠΈΡ Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° с прСнасянСто Π½Π° docker storage (docker root)

НС ΠΏΠΎ-късно ΠΎΡ‚ ΠΏΡ€Π΅Π΄ΠΈ няколко Π΄Π½ΠΈ бСшС Ρ€Π΅ΡˆΠ΅Π½ΠΎ Π½Π° Π΅Π΄ΠΈΠ½ ΠΎΡ‚ ΡΡŠΡ€Π²ΡŠΡ€ΠΈΡ‚Π΅ Π΄Π° сС изнСсС docker storage (ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΡŠΡ‚, Π² ΠΊΠΎΠΉΡ‚ΠΎ docker ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π° всички Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ ΠΈ ΠΎΠ±Ρ€Π°Π·ΠΈ) Π½Π° ΠΎΡ‚Π΄Π΅Π»Π΅Π½ дял, ΠΊΠΎΠΉΡ‚ΠΎ
имашС ΠΏΠΎ-голяма вмСстимост. Π—Π°Π΄Π°Ρ‡Π°Ρ‚Π° бСшС, ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π°, Ρ‚Ρ€ΠΈΠ²ΠΈΠ°Π»Π½Π° ΠΈ Π½Π΅ ΠΏΡ€Π΅Π΄Π²Π΅Ρ‰Π°Π²Π°ΡˆΠ΅ бСда…

ΠŸΡ€ΠΈΡΡ‚ΡŠΠΏΠ²Π°ΠΌΠ΅:

1. Π‘ΠΏΠΈΡ€Π°ΠΌΠ΅ ΠΈ ΡƒΠ±ΠΈΠ²Π°ΠΌΠ΅ всички ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ Π½Π° Π½Π°ΡˆΠ΅Ρ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅:

docker-compose down

Π°ΠΊΠΎ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈΡ‚Π΅ са ΠΌΠ½ΠΎΠ³ΠΎ ΠΈ са Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ compose, ΠΌΠΎΠΆΠ΅ Ρ‚Π°ΠΊΠ°:

docker rm -f $(docker ps -q)

2. Π‘ΠΏΠΈΡ€Π°ΠΌΠ΅ docker Π΄Π΅ΠΌΠΎΠ½Π°:

systemctl stop docker

3. ΠŸΡ€Π΅ΠΌΠ΅ΡΡ‚Π²Π°ΠΌΠ΅ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° Π½Π° ΠΆΠ΅Π»Π°Π½ΠΎΡ‚ΠΎ място:

cp -r /var/lib/docker /docker/data/storage

4. УвСдомявамС docker Π΄Π΅ΠΌΠΎΠ½Π° Π΄Π° Π³Π»Π΅Π΄Π° Π² Π½ΠΎΠ²Π°Ρ‚Π° дирСктория. Има няколко Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°: ΠΈΠ»ΠΈ Ρ‡Ρ€Π΅Π· Ρ„Π»Π°Π³ -g Π΄Π° ΡƒΠΊΠ°ΠΆΠ΅ΠΌ Π½Π° Π΄Π΅ΠΌΠΎΠ½Π° новия ΠΏΡŠΡ‚, ΠΈΠ»ΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΠΎΠ²Π΅ Π½Π° systemd, ΠΊΠΎΠΈΡ‚ΠΎ ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ…ΠΌΠ΅. Или симлинк. Няма Π΄Π° Π³ΠΎ обяснявам ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ, Π² ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚ ΠΈΠΌΠ° ΠΌΠ½ΠΎΠ³ΠΎ руководства Π·Π° прСмСстванС Π½Π° docker root Π½Π° Π½ΠΎΠ²ΠΎ място.

5. Π‘Ρ‚Π°Ρ€Ρ‚ΠΈΡ€Π°ΠΌΠ΅ docker Π΄Π΅ΠΌΠΎΠ½Π° ΠΈ наблюдавамС Π΄Π°Π»ΠΈ Π³Π»Π΅Π΄Π° ΠΊΡŠΠ΄Π΅Ρ‚ΠΎ трябва:

systemctl status docker

Π’ Π΅Π΄Π½Π° ΠΎΡ‚ Ρ€Π΅Π΄ΠΎΠ²Π΅Ρ‚Π΅ Π½Π° ΠΈΠ·Ρ…ΠΎΠ΄Π° трябва Π΄Π° Π²ΠΈΠ΄ΠΈΠΌ:

β”œβ”€19493 /usr/bin/dockerd --data-root=/docker/data/storage

Π£Π±Π΅Π΄ΠΈΡ…ΠΌΠ΅ сС, Ρ‡Π΅ смС ΠΏΡ€Π΅Π΄Π°Π»ΠΈ опцията Π½Π° Π΄Π΅ΠΌΠΎΠ½Π°, сСга провСрявамС Π΄Π°Π»ΠΈ я Π΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠΈΠ» (благодаря Π½Π° inkvizitor68sl)!

docker info | awk '/Root Dir/ {print $NF}' 

6. Π‘Ρ‚Π°Ρ€Ρ‚ΠΈΡ€Π°ΠΌΠ΅ Π½Π°ΡˆΠ΅Ρ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅:

docker-compose up -d

7. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ²Π°ΠΌΠ΅

И Ρ‚ΡƒΠΊ Π·Π°ΠΏΠΎΡ‡Π²Π° Π½Π°ΠΉ-интСрСсното, Π‘Π£Π‘Π”, MQ, всичко Π΅ Π½Π°Ρ€Π΅Π΄! Π‘Π°Π·Π°Ρ‚Π° Π΅ цяла, всичко работи… освСн nginx. ИмамС собствСна компилация Π½Π° nginx с kerberos ΠΈ ΠΊΡƒΡ€Ρ‚ΠΈΠ·Π°Π½ΠΊΠΈ. И ΠΏΡ€Π΅Π³Π»Π΅Π΄ΡŠΡ‚ Π½Π° Π»ΠΎΠ³ΠΎΠ²Π΅Ρ‚Π΅ Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° ΠΏΠΎΠΊΠ°Π·Π°, Ρ‡Π΅ Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° записва Π² /var/tmp β€” Permission denied. Π Π°Π·Ρ‚Ρ€ΠΈΠ²Π°ΠΌ слСпоочията си ΠΈ сС ΠΎΠΏΠΈΡ‚Π²Π°ΠΌ Π΄Π° Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€Π°ΠΌ ситуацията… Как Ρ‚Π°ΠΊΠ°? Docker ΠΎΠ±Ρ€Π°Π·ΡŠΡ‚ Π½Π΅ бСшС промСнян. ΠŸΡ€ΠΎΡΡ‚ΠΎ прСмСстихмС дирСкторията. Π’ΠΈΠ½Π°Π³ΠΈ Π΅ Ρ€Π°Π±ΠΎΡ‚ΠΈΠ»ΠΎ, ΠΈ сСга… Π—Π° СкспСримСнта влязох Ρ€ΡŠΡ‡Π½ΠΎ Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° ΠΈ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ… ΠΏΡ€Π°Π²Π°Ρ‚Π° Π½Π° Ρ‚ΠΎΠ·ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³, бяха root, root 755, Π΄Π°Π΄ΠΎΡ… root, root 777. И всичко проработи… Π’ Π³Π»Π°Π²Π°Ρ‚Π° ΠΌΠΈ ΠΏΡ€ΠΎΠ·Π²ΡƒΡ‡Π° мисъл β€” някакъв брСд… ΠœΠΈΡΠ»Π΅Ρ…, Ρ‡Π΅ ΠΌΠΎΠΆΠ΅ Π±ΠΈ Π½Π΅Ρ‰ΠΎ съм прСнСбрСгнал…

Π Π΅ΡˆΠΈΡ…, Ρ‡Π΅ смС Π·Π°Π³ΡƒΠ±ΠΈΠ»ΠΈ ΠΏΡ€Π°Π²Π°Ρ‚Π° Π·Π° Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅Ρ‚Π΅ ΠΏΡ€ΠΈ прСмСстванСто. Π‘ΠΏΠΈΡ€Π°ΠΌΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ, docker Π΄Π΅ΠΌΠΎΠ½Π°, ΠΈΠ·Ρ‚Ρ€ΠΈΠ²Π°ΠΌΠ΅ Π½ΠΎΠ²Π°Ρ‚Π° дирСктория ΠΈ ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°ΠΌΠ΅ ΠΊΠΎΠΏΠΈΡ€Π°Π½Π΅ Π½Π° дирСкторията /var/lib/docker, Π²Π΅Ρ‡Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ rsync -a.

Мисля, Ρ‡Π΅ сСга всичко Π΅ Π½Π°Ρ€Π΅Π΄, пускамС docker, ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ.

Π˜ΠΈΠΈβ€¦ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°Ρ‚Π° остана… Π—Π°Ρ‡Π΅Ρ€Π²ΠΈ ΠΌΠΈ сС ΠΎΠΊΠΎΡ‚ΠΎ. Π‘ΠΊΠΎΡ‡ΠΈΡ… към консолата Π½Π° моята Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΠΊΠ°, ΠΊΡŠΠ΄Π΅Ρ‚ΠΎ тСствах Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Π½Π΅Ρ‰Π°; ΠΈΠΌΠ°Ρ… Ρ‚ΠΎΠ·ΠΈ ΠΈΠΌΠΈΠ΄ΠΆ Π½Π° nginx ΠΈ сС ΠΊΠ°Ρ‡ΠΈΡ… Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°, Π° Ρ‚Π°ΠΌ ΠΏΡ€Π°Π²Π°Ρ‚Π° Π½Π° ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° /var/tmp бяха root, root 777. ВоСст Ρ‚ΠΎΡ‡Π½ΠΎ ΡΡŠΡ‰ΠΈΡ‚Π΅, ΠΊΠ°ΠΊΠ²ΠΈΡ‚ΠΎ сС Π½Π°Π»ΠΎΠΆΠΈ Π΄Π° Π·Π°Π΄Π°ΠΌ Ρ€ΡŠΡ‡Π½ΠΎ. Но ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚Π΅ са ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π½ΠΈ!

НавсякъдС бСшС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π°Ρ‚Π° систСма xfs.

Π‘Ρ€Π°Π²Π½ΠΈΡ… Ρ‡Ρ€Π΅Π· ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π°

docker inspect my-nginx:12345

Всички Ρ…Π΅ΡˆΠΎΠ²Π΅ са ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π½ΠΈ, Π΅Π΄ΠΈΠ½ Π² Π΅Π΄ΠΈΠ½. Как Π½Π° ΡΡŠΡ€Π²ΡŠΡ€Π°, Ρ‚Π°ΠΊΠ° ΠΈ Π½Π° моята Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΠΊΠ°. Π˜Π·Ρ‚Ρ€ΠΈΡ… локалния ΠΈΠΌΠΈΠ΄ΠΆ Π½Π° nginx ΠΈ Π³ΠΎ ΠΈΠ·Ρ‚Π΅Π³Π»ΠΈΡ… ΠΎΡ‚Π½ΠΎΠ²ΠΎ ΠΎΡ‚ Ρ€Π΅Π³ΠΈΡΡ‚ΡŠΡ€Π°, ΠΊΠΎΠΉΡ‚ΠΎ ΠΏΠΎ Ρ€Π΅Π΄ ΠΏΡ€ΠΈΡ‡ΠΈΠ½ΠΈ Π΅ Π½Π° ΡΡŠΡ‰Π°Ρ‚Π° машина. И ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡŠΡ‚ Π΅ ΡΡŠΡ‰ΠΈΡΡ‚β€¦ Π‘Π΅Π³Π° ΠΌΠΈ сС Π·Π°Ρ‡Π΅Ρ€Π²ΠΈ ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΡ‚ΠΎ ΠΎΠΊΠΎ.

Π’Π΅Ρ‡Π΅ Π½Π΅ помня ΠΊΠ°ΠΊΠ²ΠΈ мисли ΠΈΠΌΠ°Ρ… Π² Π³Π»Π°Π²Π°Ρ‚Π° си, освСн Π²ΠΈΠΊΠΎΠ²Π΅ β€žΠΠΠΠΠΠΠβ€œ ΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ. На ΡƒΠ»ΠΈΡ†Π°Ρ‚Π° Π΅ Ρ‡Π΅Ρ‚ΠΈΡ€ΠΈ часа ΠΏΡ€Π΅Π· Π½ΠΎΡ‰Ρ‚Π°, ΠΈΠ·Π²Π°Π΄ΠΈΡ… ΠΈΠ·Ρ‚ΠΎΡ‡Π½ΠΈΡ†ΠΈΡ‚Π΅ Π½Π° Docker, Π·Π° Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π° ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ° Π½Π° Ρ…Π΅ΡˆΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° слоСвСтС Π½Π° ΠΈΠΌΠΈΠ΄ΠΆΠ°. ΠžΡ‚Π²ΠΎΡ€ΠΈΡ… Ρ‚Ρ€Π΅Ρ‚Π° Π±Π°Π½ΠΊΠ° с Π΅Π½Π΅Ρ€Π³ΠΈΠΉΠ½Π° Π½Π°ΠΏΠΈΡ‚ΠΊΠ°. И накрая ΠΎΡΡŠΠ·Π½Π°Ρ…, Ρ‡Π΅ Ρ…Π΅ΡˆΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π²Π·Π΅ΠΌΠ° ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄ само Ρ„Π°ΠΉΠ»Π°, Π½Π΅Π³ΠΎΠ²ΠΎΡ‚ΠΎ ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Π½ΠΈΠ΅, Π½ΠΎ НЯМА ΠŸΠ ΠΠ’Π НА Π”ΠžΠ‘Π’ΠͺП! ВоСст, ΠΏΠΎ някакъв Π·Π°Π³Π°Π΄ΡŠΡ‡Π΅Π½ Π½Π°Ρ‡ΠΈΠ½ ΠΏΡ€Π°Π²Π°Ρ‚Π° Π½ΠΈ бяха Π½Π°Ρ€ΡƒΡˆΠ΅Π½ΠΈ, Π° SELinux Π΅ ΠΈΠ·ΠΊΠ»ΡŽΡ‡Π΅Π½, acl Π½Π΅ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚, sticky bit Π³ΠΎ няма.

Π˜Π·Ρ‚Ρ€ΠΈΡ… локалния ΠΈΠΌΠΈΠ΄ΠΆ, ΡΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° ΠΈΠ·Ρ‚Ρ€ΠΈΡ… ΠΈΠΌΠΈΠ΄ΠΆΠ° ΠΎΡ‚ Docker Ρ€Π΅Π³ΠΈΡΡ‚ΡŠΡ€Π° ΠΈ Π³ΠΎ ΠΊΠ°Ρ‡ΠΈΡ… ΠΎΡ‚Π½ΠΎΠ²ΠΎ. И всичко Π·Π°Ρ€Π°Π±ΠΎΡ‚ΠΈ. ΠŸΡ€ΠΎΡ†Π΅ΡΡŠΡ‚ Π½Π° ΠΏΡ€Π΅Ρ…Π²ΡŠΡ€Π»ΡΠ½Π΅ Ρ€Π°Π·ΠΌΠΈΠ½Π° ΠΏΡ€Π°Π²Π°Ρ‚Π°, ΠΈ Π² локалния ΠΈΠΌΠΈΠ΄ΠΆ, ΠΈ Π² ΠΈΠΌΠΈΠ΄ΠΆΠ°, ΠΊΠΎΠΉΡ‚ΠΎ Π΅ Π² Ρ€Π΅Π³ΠΈΡΡ‚ΡŠΡ€Π°. ΠšΠ°ΠΊΡ‚ΠΎ Π²Π΅Ρ‡Π΅ ΠΊΠ°Π·Π°Ρ…, ΠΏΠΎ Ρ€Π΅Π΄ ΠΏΡ€ΠΈΡ‡ΠΈΠ½ΠΈ Ρ‚ΠΎΠΉ сС Π½Π°ΠΌΠΈΡ€Π°ΡˆΠ΅ Π½Π° Ρ‚Π°Π·ΠΈ машина. И слСдствиС Π² Π΅Π΄ΠΈΠ½ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ /var/lib/docker.

И ΠΏΡ€Π΅Π΄Π²ΠΈΠΆΠ΄Π°ΠΉΠΊΠΈ Π²ΡŠΠΏΡ€ΠΎΡΠ°, ΠΎΠΏΠΈΡ‚Π²Π°Ρ…Ρ‚Π΅ Π»ΠΈ сС Π΄Π° Π²ΡŠΠ·Π²ΡŠΡ€Π½Π΅Ρ‚Π΅ Docker към стария ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ β€” Π½Π΅, Π½Π΅ ΠΎΠΏΠΈΡ‚Π²Π°Ρ…ΠΌΠ΅, Π·Π° съТалСниС обстоятСлствата Π½Π΅ позволяваха. Но искахмС Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ.

Π‘Π»Π΅Π΄ написванСто Π½Π° Ρ‚ΠΎΠ·ΠΈ тСкст, Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° ΠΌΠΈ сС струва ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, Π½ΠΎ Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° Π½Π° Π°Π½Π°Π»ΠΈΠ· Ρ‚ΠΎ Π½Π΅ изглСТдашС Ρ‚Π°ΠΊΠ°. ЧСстно ΠΊΠ°Π·Π°Π½ΠΎ, Π³ΡƒΠ³Π»ΠΈΡ… ΠΈ Π½Π΅ Π½Π°ΠΌΠ΅Ρ€ΠΈΡ… ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ ситуации.

Π Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚: ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡŠΡ‚ Π΅ Ρ€Π΅ΡˆΠ΅Π½, ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°Ρ‚Π° Π½Π΅ я Ρ€Π°Π·Π±Ρ€Π°Ρ… =(

Ако някой Π·Π½Π°Π΅ ΠΈΠ»ΠΈ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Ρ‚Π΅ възмоТни ΠΏΡ€ΠΈΡ‡ΠΈΠ½ΠΈ Π·Π° Ρ‚ΠΎΠ·ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ β€” Ρ‰Π΅ бъда ΠΌΠ½ΠΎΠ³ΠΎ радостСн Π΄Π° ΠΏΡ€ΠΎΡ‡Π΅Ρ‚Π° Π²Π°ΡˆΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈ!

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: habr.com

ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС с Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ πŸ”₯ ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС с Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ | ProHoster