<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Docker | Wiki | PWODEV</title>
	<atom:link href="https://wiki.pwodev.com/category/server/docker/feed/" rel="self" type="application/rss+xml" />
	<link>https://wiki.pwodev.com/category/server/docker/</link>
	<description>Help for developers</description>
	<lastBuildDate>Sun, 05 Nov 2023 23:52:55 +0000</lastBuildDate>
	<language>ru-RU</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.1</generator>
	<item>
		<title>Поднимаем Mailcow на Centos 9</title>
		<link>https://wiki.pwodev.com/%d0%bf%d0%be%d0%b4%d0%bd%d0%b8%d0%bc%d0%b0%d0%b5%d0%bc-mailcow-%d0%bd%d0%b0-centos-9/</link>
					<comments>https://wiki.pwodev.com/%d0%bf%d0%be%d0%b4%d0%bd%d0%b8%d0%bc%d0%b0%d0%b5%d0%bc-mailcow-%d0%bd%d0%b0-centos-9/#respond</comments>
		
		<dc:creator><![CDATA[Paul Osmachko]]></dc:creator>
		<pubDate>Sun, 05 Nov 2023 23:36:41 +0000</pubDate>
				<category><![CDATA[Docker]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Server]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[mailcow]]></category>
		<guid isPermaLink="false">https://wiki.pwodev.com/?p=1719</guid>

					<description><![CDATA[<p>Параметры сервера:&#8212; CPU: 2&#215;8&#8212; RAM: 16384 Устанавливаем Centos 9, при установке не забываем подправить диск так чтобы root занимала все пространство. После установки заходим по временному паролю через ssh и меняем пароль: обновляем centos до последней версии и устанавливаем нужные нам приложения: перепроверяем что никакие порты не заняты, должно вывести пустоту Если нет, стопаем сервисы [&#8230;]</p>
<p>Сообщение <a href="https://wiki.pwodev.com/%d0%bf%d0%be%d0%b4%d0%bd%d0%b8%d0%bc%d0%b0%d0%b5%d0%bc-mailcow-%d0%bd%d0%b0-centos-9/">Поднимаем Mailcow на Centos 9</a> появились сначала на <a href="https://wiki.pwodev.com">Wiki | PWODEV</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Параметры сервера:<br>&#8212; CPU: 2&#215;8<br>&#8212; RAM: 16384</p>



<p>Устанавливаем Centos 9, при установке не забываем подправить диск так чтобы root занимала все пространство.</p>



<p>После установки заходим по временному паролю через ssh и меняем пароль:</p>



<pre class="wp-block-code"><code>passwd</code></pre>



<p>обновляем centos до последней версии и устанавливаем нужные нам приложения:</p>



<pre class="wp-block-code"><code>yum update -y &amp;&amp; yum upgrade -y &amp;&amp; yum makecache
yum -y install epel-release
yum -y install nano htop mc wget git chrony
</code></pre>



<p>перепроверяем что никакие порты не заняты, должно вывести пустоту</p>



<pre class="wp-block-code"><code>ss -tlpn | grep -E -w '25|80|110|143|443|465|587|993|995|4190'</code></pre>



<p>Если нет, стопаем сервисы что юзают эти порты. Скорее всего это порт 25 и это postfix.</p>



<pre class="wp-block-code"><code>systemctl stop postfix
yum remove postfix -y</code></pre>



<p>дальше проверяем чтобы часы правильно работали и синхронизировались:</p>



<pre class="wp-block-code"><code>timedatectl status</code></pre>



<p>обрати внимание чтобы было время правильное и включена синхронизация.</p>



<h2 class="wp-block-heading">Установка докер:</h2>



<p>сначала ставим докер:</p>



<pre class="wp-block-code"><code>curl -sSL https://get.docker.com/ | CHANNEL=stable sh
systemctl enable --now docker</code></pre>



<p>Проверяем установлен ли Selinux.</p>



<pre class="wp-block-code"><code>rpm -qa | grep container-selinux</code></pre>



<p>Эта команда должна что-то вывести, если выводит — идем дальше, если нет, то нужно установить Selinux. Теперь проверяем включен ли Selinux в докере:</p>



<pre class="wp-block-code"><code>docker info | grep selinux</code></pre>



<p>Если выключен, а он обычно выключен то открываем файл:</p>



<pre class="wp-block-code"><code>nano /etc/docker/daemon.json</code></pre>



<p>и добавляем текст:</p>



<pre class="wp-block-code"><code>{
  "selinux-enabled": true
}</code></pre>



<p>после этого сохраняем и перезапускаем докер:</p>



<pre class="wp-block-code"><code>systemctl restart docker</code></pre>



<p>теперь еще рас проверим докер на наличие selinux</p>



<pre class="wp-block-code"><code>docker info | grep selinux</code></pre>



<p>теперь выведет <strong>selinux</strong> и значит мы с докером закончили</p>



<h2 class="wp-block-heading">Установка Mailcow</h2>



<p>теперь делаем следующие команды:</p>



<pre class="wp-block-code"><code>su</code></pre>



<p>потом</p>



<pre class="wp-block-code"><code>umask</code></pre>



<p>должно вывести 0022, дальше скачиваем с гита mailcow и запускаем установщик:</p>



<pre class="wp-block-code"><code>git clone https://github.com/mailcow/mailcow-dockerized /home/mailcow
cd /home/mailcow
./generate_config.sh</code></pre>



<ol class="wp-block-list">
<li>Первое что спросит это hostname. Тут пишем название вашего домена для сервера <strong>mail.youdomain.com</strong>.</li>



<li>таймзона &#8212; жмем энтер</li>



<li>жмем <strong>1</strong> чтобы использовать стабильную версию</li>
</ol>



<p>Теперь добавляем сразу редирект http -&gt; https для этого создаем файл:</p>



<pre class="wp-block-code"><code>nano data/conf/nginx/redirect.conf</code></pre>



<p>заполняем:</p>



<pre class="wp-block-code"><code>server {
  root /web;
  listen 80 default_server;
  listen &#91;::]:80 default_server;
  include /etc/nginx/conf.d/server_name.active;
  if ( $request_uri ~* "%0A|%0D" ) { return 403; }
  location ^~ /.well-known/acme-challenge/ {
    allow all;
    default_type "text/plain";
  }
  location / {
    return 301 https://$host$uri$is_args$args;
  }
}</code></pre>



<p>Если надо подправить настройки идем сюда:</p>



<pre class="wp-block-code"><code>nano mailcow.conf</code></pre>



<p>Тут можно добавить список дополнительных доменов если надо, через запятую пишем домены в этих параметрах:</p>



<pre class="wp-block-code"><code>ADDITIONAL_SAN=mail.secondemail.com,mail.secondemail1.com
ADDITIONAL_SERVER_NAMES=mail.secondemail.com,mail.secondemail1.com</code></pre>



<p>или разрешить администратору заходить в почты всех юзеров, параметр:</p>



<pre class="wp-block-code"><code>ALLOW_ADMIN_EMAIL_LOGIN=y</code></pre>



<p>Теперь можно скачать контейнеры и запускать докер.</p>



<pre class="wp-block-code"><code>docker compose pull
docker compose up -d</code></pre>



<p>Лог посмотреть можно следующей командой:</p>



<pre class="wp-block-code"><code>docker compose logs --tail=200 -f acme-mailcow</code></pre>



<p>как только контейнеры стартовали идем в браузер по IP на котором запустили сервак: https://1.2.3.4 Стандартный пароль в админку:<br><strong>admin</strong><br><strong>moohoo</strong></p>



<p>Меняем сразу пароль и добавляем в админке домены. После этого берем ключ dkim и идем настраивать DNS:</p>



<pre class="wp-block-code"><code>A    mail    1.2.3.4
AAAA    mail    1111:111:111
CNAME    autodiscover   mail.youdomain.com. 
CNAME    autoconfig    mail.youdomain.com. 
MX 10    @    mail.youdomain.com. 
TXT    @    v=spf1 a mx ip4:1.2.3.4 ip6:1111:111:111 -all
TXT    _dmarc    v=DMARC1; p=none; sp=none; rua=mailto:postmaster@youdomain.com; ruf=mailto:postmaster@youdomain.com; fo=1; ri=86400;
TXT    dkim._domainkey    v=DKIM1;k=rsa;t=s;s=email;p=****************</code></pre>



<p>вместо 1.2.3.4 надо написать IPv4 и вместо 1111:111:111 — IPv6 адрес вашего меил сервера и вместо youdomain.com надо написать ваш домен к которому делаем изменения DNS, и вместо **************** dkim ключ который мы получили в админке.</p>



<p>После этого можно добавлять почтовые адреса и тестировать почту с помощью сервиса&nbsp;<a href="https://www.mail-tester.com/" target="_blank" rel="noreferrer noopener">https://www.mail-tester.com/</a></p>



<p>Проверяем правильность по следующим сервисам:</p>



<ul class="wp-block-list">
<li><a href="https://mxtoolbox.com/dmarc/dmarc-email-tools?referrer=cms_dmarchome" target="_blank" rel="noreferrer noopener">https://mxtoolbox.com/</a>&nbsp;или&nbsp;<a href="https://intodns.com/" target="_blank" rel="noreferrer noopener">https://intodns.com/</a>&nbsp;проверка DNS записей</li>



<li><a href="https://dmarcly.com/tools/" target="_blank" rel="noreferrer noopener">https://dmarcly.com/tools/</a>&nbsp;и&nbsp;<a href="https://powerdmarc.com/analyzer/" target="_blank" rel="noreferrer noopener">https://powerdmarc.com/analyzer/</a>— еще сервисы для проверки правильности DNS</li>



<li><a href="https://www.mail-tester.com/" target="_blank" rel="noreferrer noopener">https://www.mail-tester.com/</a>&nbsp;— тест отправки мейла</li>
</ul>



<p></p>
<p><a class="a2a_button_facebook" href="https://www.addtoany.com/add_to/facebook?linkurl=https%3A%2F%2Fwiki.pwodev.com%2F%25d0%25bf%25d0%25be%25d0%25b4%25d0%25bd%25d0%25b8%25d0%25bc%25d0%25b0%25d0%25b5%25d0%25bc-mailcow-%25d0%25bd%25d0%25b0-centos-9%2F&amp;linkname=%D0%9F%D0%BE%D0%B4%D0%BD%D0%B8%D0%BC%D0%B0%D0%B5%D0%BC%20Mailcow%20%D0%BD%D0%B0%20Centos%209" title="Facebook" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_vk" href="https://www.addtoany.com/add_to/vk?linkurl=https%3A%2F%2Fwiki.pwodev.com%2F%25d0%25bf%25d0%25be%25d0%25b4%25d0%25bd%25d0%25b8%25d0%25bc%25d0%25b0%25d0%25b5%25d0%25bc-mailcow-%25d0%25bd%25d0%25b0-centos-9%2F&amp;linkname=%D0%9F%D0%BE%D0%B4%D0%BD%D0%B8%D0%BC%D0%B0%D0%B5%D0%BC%20Mailcow%20%D0%BD%D0%B0%20Centos%209" title="VK" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_twitter" href="https://www.addtoany.com/add_to/twitter?linkurl=https%3A%2F%2Fwiki.pwodev.com%2F%25d0%25bf%25d0%25be%25d0%25b4%25d0%25bd%25d0%25b8%25d0%25bc%25d0%25b0%25d0%25b5%25d0%25bc-mailcow-%25d0%25bd%25d0%25b0-centos-9%2F&amp;linkname=%D0%9F%D0%BE%D0%B4%D0%BD%D0%B8%D0%BC%D0%B0%D0%B5%D0%BC%20Mailcow%20%D0%BD%D0%B0%20Centos%209" title="Twitter" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_linkedin" href="https://www.addtoany.com/add_to/linkedin?linkurl=https%3A%2F%2Fwiki.pwodev.com%2F%25d0%25bf%25d0%25be%25d0%25b4%25d0%25bd%25d0%25b8%25d0%25bc%25d0%25b0%25d0%25b5%25d0%25bc-mailcow-%25d0%25bd%25d0%25b0-centos-9%2F&amp;linkname=%D0%9F%D0%BE%D0%B4%D0%BD%D0%B8%D0%BC%D0%B0%D0%B5%D0%BC%20Mailcow%20%D0%BD%D0%B0%20Centos%209" title="LinkedIn" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_skype" href="https://www.addtoany.com/add_to/skype?linkurl=https%3A%2F%2Fwiki.pwodev.com%2F%25d0%25bf%25d0%25be%25d0%25b4%25d0%25bd%25d0%25b8%25d0%25bc%25d0%25b0%25d0%25b5%25d0%25bc-mailcow-%25d0%25bd%25d0%25b0-centos-9%2F&amp;linkname=%D0%9F%D0%BE%D0%B4%D0%BD%D0%B8%D0%BC%D0%B0%D0%B5%D0%BC%20Mailcow%20%D0%BD%D0%B0%20Centos%209" title="Skype" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_whatsapp" href="https://www.addtoany.com/add_to/whatsapp?linkurl=https%3A%2F%2Fwiki.pwodev.com%2F%25d0%25bf%25d0%25be%25d0%25b4%25d0%25bd%25d0%25b8%25d0%25bc%25d0%25b0%25d0%25b5%25d0%25bc-mailcow-%25d0%25bd%25d0%25b0-centos-9%2F&amp;linkname=%D0%9F%D0%BE%D0%B4%D0%BD%D0%B8%D0%BC%D0%B0%D0%B5%D0%BC%20Mailcow%20%D0%BD%D0%B0%20Centos%209" title="WhatsApp" rel="nofollow noopener" target="_blank"></a><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=https%3A%2F%2Fwiki.pwodev.com%2F%25d0%25bf%25d0%25be%25d0%25b4%25d0%25bd%25d0%25b8%25d0%25bc%25d0%25b0%25d0%25b5%25d0%25bc-mailcow-%25d0%25bd%25d0%25b0-centos-9%2F&#038;title=%D0%9F%D0%BE%D0%B4%D0%BD%D0%B8%D0%BC%D0%B0%D0%B5%D0%BC%20Mailcow%20%D0%BD%D0%B0%20Centos%209" data-a2a-url="https://wiki.pwodev.com/%d0%bf%d0%be%d0%b4%d0%bd%d0%b8%d0%bc%d0%b0%d0%b5%d0%bc-mailcow-%d0%bd%d0%b0-centos-9/" data-a2a-title="Поднимаем Mailcow на Centos 9"></a></p><p>Сообщение <a href="https://wiki.pwodev.com/%d0%bf%d0%be%d0%b4%d0%bd%d0%b8%d0%bc%d0%b0%d0%b5%d0%bc-mailcow-%d0%bd%d0%b0-centos-9/">Поднимаем Mailcow на Centos 9</a> появились сначала на <a href="https://wiki.pwodev.com">Wiki | PWODEV</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://wiki.pwodev.com/%d0%bf%d0%be%d0%b4%d0%bd%d0%b8%d0%bc%d0%b0%d0%b5%d0%bc-mailcow-%d0%bd%d0%b0-centos-9/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Добавляем домен в mailcow</title>
		<link>https://wiki.pwodev.com/%d0%b4%d0%be%d0%b1%d0%b0%d0%b2%d0%bb%d1%8f%d0%b5%d0%bc-%d0%b4%d0%be%d0%bc%d0%b5%d0%bd-%d0%b2-mailcow/</link>
					<comments>https://wiki.pwodev.com/%d0%b4%d0%be%d0%b1%d0%b0%d0%b2%d0%bb%d1%8f%d0%b5%d0%bc-%d0%b4%d0%be%d0%bc%d0%b5%d0%bd-%d0%b2-mailcow/#respond</comments>
		
		<dc:creator><![CDATA[Paul Osmachko]]></dc:creator>
		<pubDate>Mon, 04 Apr 2022 17:29:47 +0000</pubDate>
				<category><![CDATA[Docker]]></category>
		<category><![CDATA[Server]]></category>
		<category><![CDATA[Domain]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[mail]]></category>
		<category><![CDATA[mailcow]]></category>
		<guid isPermaLink="false">https://wiki.pwodev.com/?p=1106</guid>

					<description><![CDATA[<p>Итак нам предстоит задача добавить главный почтовый домен к нашему меил серверу. После этого мы должны будем добавить еще несколько других почтовых доменов. Все это делается не сложными манипуляциями, которые мы сейчас с вами сделаем. Нам необходимо иметь доступ к DNS настройкам домена и файликом конфигурации mailcow. Мы будем работать с файлом настроек mailcow: в [&#8230;]</p>
<p>Сообщение <a href="https://wiki.pwodev.com/%d0%b4%d0%be%d0%b1%d0%b0%d0%b2%d0%bb%d1%8f%d0%b5%d0%bc-%d0%b4%d0%be%d0%bc%d0%b5%d0%bd-%d0%b2-mailcow/">Добавляем домен в mailcow</a> появились сначала на <a href="https://wiki.pwodev.com">Wiki | PWODEV</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Итак нам предстоит задача добавить главный почтовый домен к нашему меил серверу. После этого мы должны будем добавить еще несколько других почтовых доменов. Все это делается не сложными манипуляциями, которые мы сейчас с вами сделаем. Нам необходимо иметь доступ к DNS настройкам домена и файликом конфигурации mailcow.</p>



<p>Мы будем работать с файлом настроек mailcow:</p>



<pre class="wp-block-code"><code>cd /opt/mailcow-dockerized/
nano mailcow.conf</code></pre>



<p>в этом файле проверяем самый первый параметр: MAILCOW_HOSTNAME=mail.yourdomain.com</p>



<p>Этот параметр и будет главным доменом нашего почтового сервера. </p>



<p>Дальше идем в DNS настройки домена и добавляем следующие записи по <a href="https://mailcow.github.io/mailcow-dockerized-docs/prerequisite/prerequisite-dns/" target="_blank" rel="noreferrer noopener">документации</a>:</p>



<ul class="wp-block-list"><li>MXE Record | тут вводим IP адрес сервера для примера буду использовать 111.111.111.111</li><li>A Record | Host: mail | Value: 111.111.111.111</li><li>CNAME Record | Host: autoconfig | Value: mail.yourdomain.com</li><li>CNAME Record | Host: autodiscover | Value: mail.yourdomain.com</li><li>TXT Record | Host: @ | Value: v=spf1 a mx ip4:111.111.111.111 ~all</li><li>TXT Record | Host: _dmarc | Value: v=DMARC1; p=reject; sp=quarantine</li><li>TXT Record | Host: dkim._domainkey | Value: (эту строку мы берем из админки-&gt;глобальные настройки-&gt;ARC/DKIM ключи)</li><li>PTR или оrDNS надобно тоже настроить, это делается на стороне поставщика IP адреса</li></ul>



<p>После этого можно создать в админке меил адрес и попробовать протестировать правильность заполнения DNS записей. Учитывайте что применение настроек DNS может сразу не отобразиться, и вам нужно будет подождать немного.</p>



<p>Сайт для тестирования мейла: </p>



<ul class="wp-block-list"><li><a href="https://www.mail-tester.com/" target="_blank" rel="noreferrer noopener">https://www.mail-tester.com/</a></li><li><a href="https://dmarcian.com/domain-checker" target="_blank" rel="noreferrer noopener">https://dmarcian.com/domain-checker</a></li></ul>



<h2 class="wp-block-heading">Добавляем дополнительный мейлы:</h2>



<p><a href="https://mailcow.github.io/mailcow-dockerized-docs/post_installation/firststeps-ssl/" target="_blank" rel="noreferrer noopener">Инструкция в официальной документации</a></p>



<p>Mailcow поддерживает мультидомены Multidomain. То есть мы можем на нашем сервере хостить сразу несколько мейл доменов. Это делается очень легко, для начала нам нужно так же как и в предыдущем шаге заполнить настройки DNS на DNS сервере. После этого заходим опять в настройки mailcow:</p>



<pre class="wp-block-code"><code>cd /opt/mailcow-dockerized/
nano mailcow.conf</code></pre>



<p>И дописываем все наши дополнительные мейлы в параметрах ADDITIONAL_SAN и ADDITIONAL_SERVER_NAMES через запятую:</p>



<pre class="wp-block-code"><code>ADDITIONAL_SAN=mail.secondemail.com</code></pre>



<pre class="wp-block-code"><code>ADDITIONAL_SERVER_NAMES=mail.secondemail.com</code></pre>



<p>После этого рестартим сервис:</p>



<pre class="wp-block-code"><code>docker-compose restart acme-mailcow
docker-compose up -d
# Now check the logs for a renewal
docker-compose logs --tail=200 -f acme-mailcow</code></pre>



<p>Теперь можем так же как и в предыдущем случае протестировать мейлы. </p>
<p><a class="a2a_button_facebook" href="https://www.addtoany.com/add_to/facebook?linkurl=https%3A%2F%2Fwiki.pwodev.com%2F%25d0%25b4%25d0%25be%25d0%25b1%25d0%25b0%25d0%25b2%25d0%25bb%25d1%258f%25d0%25b5%25d0%25bc-%25d0%25b4%25d0%25be%25d0%25bc%25d0%25b5%25d0%25bd-%25d0%25b2-mailcow%2F&amp;linkname=%D0%94%D0%BE%D0%B1%D0%B0%D0%B2%D0%BB%D1%8F%D0%B5%D0%BC%20%D0%B4%D0%BE%D0%BC%D0%B5%D0%BD%20%D0%B2%20mailcow" title="Facebook" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_vk" href="https://www.addtoany.com/add_to/vk?linkurl=https%3A%2F%2Fwiki.pwodev.com%2F%25d0%25b4%25d0%25be%25d0%25b1%25d0%25b0%25d0%25b2%25d0%25bb%25d1%258f%25d0%25b5%25d0%25bc-%25d0%25b4%25d0%25be%25d0%25bc%25d0%25b5%25d0%25bd-%25d0%25b2-mailcow%2F&amp;linkname=%D0%94%D0%BE%D0%B1%D0%B0%D0%B2%D0%BB%D1%8F%D0%B5%D0%BC%20%D0%B4%D0%BE%D0%BC%D0%B5%D0%BD%20%D0%B2%20mailcow" title="VK" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_twitter" href="https://www.addtoany.com/add_to/twitter?linkurl=https%3A%2F%2Fwiki.pwodev.com%2F%25d0%25b4%25d0%25be%25d0%25b1%25d0%25b0%25d0%25b2%25d0%25bb%25d1%258f%25d0%25b5%25d0%25bc-%25d0%25b4%25d0%25be%25d0%25bc%25d0%25b5%25d0%25bd-%25d0%25b2-mailcow%2F&amp;linkname=%D0%94%D0%BE%D0%B1%D0%B0%D0%B2%D0%BB%D1%8F%D0%B5%D0%BC%20%D0%B4%D0%BE%D0%BC%D0%B5%D0%BD%20%D0%B2%20mailcow" title="Twitter" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_linkedin" href="https://www.addtoany.com/add_to/linkedin?linkurl=https%3A%2F%2Fwiki.pwodev.com%2F%25d0%25b4%25d0%25be%25d0%25b1%25d0%25b0%25d0%25b2%25d0%25bb%25d1%258f%25d0%25b5%25d0%25bc-%25d0%25b4%25d0%25be%25d0%25bc%25d0%25b5%25d0%25bd-%25d0%25b2-mailcow%2F&amp;linkname=%D0%94%D0%BE%D0%B1%D0%B0%D0%B2%D0%BB%D1%8F%D0%B5%D0%BC%20%D0%B4%D0%BE%D0%BC%D0%B5%D0%BD%20%D0%B2%20mailcow" title="LinkedIn" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_skype" href="https://www.addtoany.com/add_to/skype?linkurl=https%3A%2F%2Fwiki.pwodev.com%2F%25d0%25b4%25d0%25be%25d0%25b1%25d0%25b0%25d0%25b2%25d0%25bb%25d1%258f%25d0%25b5%25d0%25bc-%25d0%25b4%25d0%25be%25d0%25bc%25d0%25b5%25d0%25bd-%25d0%25b2-mailcow%2F&amp;linkname=%D0%94%D0%BE%D0%B1%D0%B0%D0%B2%D0%BB%D1%8F%D0%B5%D0%BC%20%D0%B4%D0%BE%D0%BC%D0%B5%D0%BD%20%D0%B2%20mailcow" title="Skype" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_whatsapp" href="https://www.addtoany.com/add_to/whatsapp?linkurl=https%3A%2F%2Fwiki.pwodev.com%2F%25d0%25b4%25d0%25be%25d0%25b1%25d0%25b0%25d0%25b2%25d0%25bb%25d1%258f%25d0%25b5%25d0%25bc-%25d0%25b4%25d0%25be%25d0%25bc%25d0%25b5%25d0%25bd-%25d0%25b2-mailcow%2F&amp;linkname=%D0%94%D0%BE%D0%B1%D0%B0%D0%B2%D0%BB%D1%8F%D0%B5%D0%BC%20%D0%B4%D0%BE%D0%BC%D0%B5%D0%BD%20%D0%B2%20mailcow" title="WhatsApp" rel="nofollow noopener" target="_blank"></a><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=https%3A%2F%2Fwiki.pwodev.com%2F%25d0%25b4%25d0%25be%25d0%25b1%25d0%25b0%25d0%25b2%25d0%25bb%25d1%258f%25d0%25b5%25d0%25bc-%25d0%25b4%25d0%25be%25d0%25bc%25d0%25b5%25d0%25bd-%25d0%25b2-mailcow%2F&#038;title=%D0%94%D0%BE%D0%B1%D0%B0%D0%B2%D0%BB%D1%8F%D0%B5%D0%BC%20%D0%B4%D0%BE%D0%BC%D0%B5%D0%BD%20%D0%B2%20mailcow" data-a2a-url="https://wiki.pwodev.com/%d0%b4%d0%be%d0%b1%d0%b0%d0%b2%d0%bb%d1%8f%d0%b5%d0%bc-%d0%b4%d0%be%d0%bc%d0%b5%d0%bd-%d0%b2-mailcow/" data-a2a-title="Добавляем домен в mailcow"></a></p><p>Сообщение <a href="https://wiki.pwodev.com/%d0%b4%d0%be%d0%b1%d0%b0%d0%b2%d0%bb%d1%8f%d0%b5%d0%bc-%d0%b4%d0%be%d0%bc%d0%b5%d0%bd-%d0%b2-mailcow/">Добавляем домен в mailcow</a> появились сначала на <a href="https://wiki.pwodev.com">Wiki | PWODEV</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://wiki.pwodev.com/%d0%b4%d0%be%d0%b1%d0%b0%d0%b2%d0%bb%d1%8f%d0%b5%d0%bc-%d0%b4%d0%be%d0%bc%d0%b5%d0%bd-%d0%b2-mailcow/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Поднимаем свой меил сервер на mailcow</title>
		<link>https://wiki.pwodev.com/%d0%bf%d0%be%d0%b4%d0%bd%d0%b8%d0%bc%d0%b0%d0%b5%d0%bc-%d1%81%d0%b2%d0%be%d0%b9-%d0%bc%d0%b5%d0%b8%d0%bb-%d1%81%d0%b5%d1%80%d0%b2%d0%b5%d1%80-%d0%bd%d0%b0-mailcow/</link>
					<comments>https://wiki.pwodev.com/%d0%bf%d0%be%d0%b4%d0%bd%d0%b8%d0%bc%d0%b0%d0%b5%d0%bc-%d1%81%d0%b2%d0%be%d0%b9-%d0%bc%d0%b5%d0%b8%d0%bb-%d1%81%d0%b5%d1%80%d0%b2%d0%b5%d1%80-%d0%bd%d0%b0-mailcow/#respond</comments>
		
		<dc:creator><![CDATA[Paul Osmachko]]></dc:creator>
		<pubDate>Mon, 04 Apr 2022 12:50:45 +0000</pubDate>
				<category><![CDATA[Docker]]></category>
		<category><![CDATA[Server]]></category>
		<category><![CDATA[mail]]></category>
		<category><![CDATA[mailcow]]></category>
		<guid isPermaLink="false">https://wiki.pwodev.com/?p=1100</guid>

					<description><![CDATA[<p>Задача поднять свой mail server на базе mailcow. Сделаем это на Centos 7. Предположим что у нас установлена свежая система Centos 7. Подключаемся к нет по SSH и делаем следующие действия: Тут мы обновили обновления, и приложения которые возможно нам понадобятся. Дальше скорее всего понадобится установить локализацию. Открываем или создаем файл: Внутри этого файла пишем [&#8230;]</p>
<p>Сообщение <a href="https://wiki.pwodev.com/%d0%bf%d0%be%d0%b4%d0%bd%d0%b8%d0%bc%d0%b0%d0%b5%d0%bc-%d1%81%d0%b2%d0%be%d0%b9-%d0%bc%d0%b5%d0%b8%d0%bb-%d1%81%d0%b5%d1%80%d0%b2%d0%b5%d1%80-%d0%bd%d0%b0-mailcow/">Поднимаем свой меил сервер на mailcow</a> появились сначала на <a href="https://wiki.pwodev.com">Wiki | PWODEV</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Задача поднять свой mail server на базе mailcow. Сделаем это на Centos 7. Предположим что у нас установлена свежая система Centos 7. Подключаемся к нет по SSH и делаем следующие действия:</p>



<pre class="wp-block-code"><code>yum update -y &amp;&amp; yum upgrade -y &amp;&amp; yum makecache
yum install epel-release -y
yum install nano htop mc wget git -y</code></pre>



<p>Тут мы обновили обновления, и приложения которые возможно нам понадобятся. Дальше скорее всего понадобится установить локализацию. Открываем или создаем файл:</p>



<pre class="wp-block-code"><code>nano /etc/environment</code></pre>



<p>Внутри этого файла пишем следующее:</p>



<pre class="wp-block-code"><code>LANG=en_US.utf-8
LC_ALL=en_US.utf-8</code></pre>



<h2 class="wp-block-heading">Docker</h2>



<p>На этом мы закончили подготовительные работы. Переходим к установке докера и докеркомпоза:</p>



<pre class="wp-block-code"><code>curl -sSL https://get.docker.com/ | CHANNEL=stable sh
systemctl enable --now docker
curl -L https://github.com/docker/compose/releases/download/$(curl -Ls https://www.servercow.de/docker-compose/latest.php)/docker-compose-$(uname -s)-$(uname -m) &gt; /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose</code></pre>



<h2 class="wp-block-heading">Selinux</h2>



<p>теперь надо проверить настройку selinux</p>



<pre class="wp-block-code"><code>rpm -qa | grep container-selinux</code></pre>



<p>должно хоть что-то вывести, значит работает selinux, дальше проверяем наличие selinux в докере командой:</p>



<pre class="wp-block-code"><code>docker info | grep selinux</code></pre>



<p>скорее всего пусто будет, ничего не выведет. Если выводит пустоту то открываем файлик:</p>



<pre class="wp-block-code"><code>nano /etc/docker/daemon.json</code></pre>



<p>и заполняем содержимим:</p>



<pre class="wp-block-code"><code>{
  "selinux-enabled": true
}</code></pre>



<p>Сохраняем и перезагружаем докер:</p>



<pre class="wp-block-code"><code>systemctl restart --now docker</code></pre>



<p>Дальше проверяем команду:</p>



<pre class="wp-block-code"><code>su
umask</code></pre>



<p>должно вывести 0022, если все ок идем дальше.</p>



<h2 class="wp-block-heading">Установка Mailcow</h2>



<p>Теперь устанавливаем Mailcow:</p>



<pre class="wp-block-code"><code>cd /opt
git clone https://github.com/mailcow/mailcow-dockerized
cd mailcow-dockerized
./generate_config.sh</code></pre>



<p>Вводим название домена: mail.***yourdomain.com в соответствии с вашим доменом. в самом начале лучше добавить mail.*****, также заполняем все что просит установщик</p>



<p>Теперь нужно остановить стандартный почтовик postfix и уберем его сразу из автозагрузки</p>



<pre class="wp-block-code"><code>systemctl stop postfix
systemctl disable postfix</code></pre>



<p>Дальше делаем так чтобы у нас по умолчанию всегда был HTTPS, для этого создаем файл:</p>



<pre class="wp-block-code"><code>nano data/conf/nginx/redirect.conf</code></pre>



<p>С содержимым файла:</p>



<pre class="wp-block-code"><code>server {
  root /web;
  listen 80 default_server;
  listen &#91;::]:80 default_server;
  include /etc/nginx/conf.d/server_name.active;
  if ( $request_uri ~* "%0A|%0D" ) { return 403; }
  location ^~ /.well-known/acme-challenge/ {
    allow all;
    default_type "text/plain";
  }
  location / {
    return 301 https://$host$uri$is_args$args;
  }
}</code></pre>



<p>теперь можно запускать докер:</p>



<pre class="wp-block-code"><code>docker-compose pull
docker-compose up -d</code></pre>



<p>после этого наш почтовый сервер должен начать работать. Заходим по адресу куда установили сервер: mail.***yourdomain.com</p>



<p>Вводим начальный логин <strong>admin</strong> и пароль <strong>moohoo</strong></p>



<p>Меняем пароль админу. И делаем нужные нам настройки.</p>



<h2 class="wp-block-heading">Переносим главную папку</h2>



<p>Давайте перенесем рабочую папку мейл программы. Официальная документация <a href="https://mailcow.github.io/mailcow-dockerized-docs/manual-guides/Dovecot/u_e-dovecot-vmail-volume/" target="_blank" rel="noreferrer noopener">тут</a></p>



<ol class="wp-block-list"><li>Для начала остановим докер</li><li>Создадим новую рабочую папку в<strong> /home/mail_data</strong></li><li>Скопируем старую папку в подпапку в ***_data_backup</li><li>Залинкуем старую папку в новую в /home/mail_data</li><li>Запустим докер.</li></ol>



<p>Все это одним кодом:</p>



<pre class="wp-block-code"><code>cd /opt/mailcow-dockerized/
docker-compose down
mkdir /home/mail_data
mv /var/lib/docker/volumes/mailcowdockerized_vmail-vol-1/_data /var/lib/docker/volumes/mailcowdockerized_vmail-vol-1/_data_backup
ln -s /home/mail_data /var/lib/docker/volumes/mailcowdockerized_vmail-vol-1/_data
docker-compose up -d</code></pre>



<p>Готово, теперь наш меил сервер будет сохранять свои данные в <strong>/home/mail_data</strong></p>



<p>Это же желательно повторить для solr, а лучше перенести весь докер в папку /home/docker вот <a href="https://unixhow.com/3621/peremestit-umolchaniyu-docker-drugoj-katalog-ubuntu-debian" target="_blank" rel="noreferrer noopener">статья</a></p>



<h2 class="wp-block-heading">Бекап</h2>



<p>Документация для <a href="https://mailcow.github.io/mailcow-dockerized-docs/backup_restore/b_n_r-backup/" target="_blank" rel="noreferrer noopener">Backup</a> и <a href="https://mailcow.github.io/mailcow-dockerized-docs/backup_restore/b_n_r-restore/" target="_blank" rel="noreferrer noopener">Restore</a>. Мы создадим папку в которой будут храниться наши бекапы:</p>



<pre class="wp-block-code"><code>mkdir /home/mail_backup</code></pre>



<p>И теперь закинем в эту папку бекап, если нужен и можем восстановить все с бекапа:</p>



<pre class="wp-block-code"><code>./helper-scripts/backup_and_restore.sh restore</code></pre>



<p>Теперь когда у нас все восстановилось, лучше всего сделать автоматический бекап. Для этого добавим в крон наши бекапы:</p>



<pre class="wp-block-code"><code>crontab -e</code></pre>



<p>дописываем сюда скрипт для автоматического бекапа каждый день в 0:00, и будем хранить бекапы только последних 10 дней</p>



<pre class="wp-block-code"><code>0 0 * * * cd /opt/mailcow-dockerized/; MAILCOW_BACKUP_LOCATION=/home/mail_backup /opt/mailcow-dockerized/helper-scripts/backup_and_restore.sh backup all --delete-days 10</code></pre>



<p>Готово. Можем пользоваться нашим новым мейл сервером</p>
<p><a class="a2a_button_facebook" href="https://www.addtoany.com/add_to/facebook?linkurl=https%3A%2F%2Fwiki.pwodev.com%2F%25d0%25bf%25d0%25be%25d0%25b4%25d0%25bd%25d0%25b8%25d0%25bc%25d0%25b0%25d0%25b5%25d0%25bc-%25d1%2581%25d0%25b2%25d0%25be%25d0%25b9-%25d0%25bc%25d0%25b5%25d0%25b8%25d0%25bb-%25d1%2581%25d0%25b5%25d1%2580%25d0%25b2%25d0%25b5%25d1%2580-%25d0%25bd%25d0%25b0-mailcow%2F&amp;linkname=%D0%9F%D0%BE%D0%B4%D0%BD%D0%B8%D0%BC%D0%B0%D0%B5%D0%BC%20%D1%81%D0%B2%D0%BE%D0%B9%20%D0%BC%D0%B5%D0%B8%D0%BB%20%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%20%D0%BD%D0%B0%20mailcow" title="Facebook" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_vk" href="https://www.addtoany.com/add_to/vk?linkurl=https%3A%2F%2Fwiki.pwodev.com%2F%25d0%25bf%25d0%25be%25d0%25b4%25d0%25bd%25d0%25b8%25d0%25bc%25d0%25b0%25d0%25b5%25d0%25bc-%25d1%2581%25d0%25b2%25d0%25be%25d0%25b9-%25d0%25bc%25d0%25b5%25d0%25b8%25d0%25bb-%25d1%2581%25d0%25b5%25d1%2580%25d0%25b2%25d0%25b5%25d1%2580-%25d0%25bd%25d0%25b0-mailcow%2F&amp;linkname=%D0%9F%D0%BE%D0%B4%D0%BD%D0%B8%D0%BC%D0%B0%D0%B5%D0%BC%20%D1%81%D0%B2%D0%BE%D0%B9%20%D0%BC%D0%B5%D0%B8%D0%BB%20%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%20%D0%BD%D0%B0%20mailcow" title="VK" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_twitter" href="https://www.addtoany.com/add_to/twitter?linkurl=https%3A%2F%2Fwiki.pwodev.com%2F%25d0%25bf%25d0%25be%25d0%25b4%25d0%25bd%25d0%25b8%25d0%25bc%25d0%25b0%25d0%25b5%25d0%25bc-%25d1%2581%25d0%25b2%25d0%25be%25d0%25b9-%25d0%25bc%25d0%25b5%25d0%25b8%25d0%25bb-%25d1%2581%25d0%25b5%25d1%2580%25d0%25b2%25d0%25b5%25d1%2580-%25d0%25bd%25d0%25b0-mailcow%2F&amp;linkname=%D0%9F%D0%BE%D0%B4%D0%BD%D0%B8%D0%BC%D0%B0%D0%B5%D0%BC%20%D1%81%D0%B2%D0%BE%D0%B9%20%D0%BC%D0%B5%D0%B8%D0%BB%20%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%20%D0%BD%D0%B0%20mailcow" title="Twitter" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_linkedin" href="https://www.addtoany.com/add_to/linkedin?linkurl=https%3A%2F%2Fwiki.pwodev.com%2F%25d0%25bf%25d0%25be%25d0%25b4%25d0%25bd%25d0%25b8%25d0%25bc%25d0%25b0%25d0%25b5%25d0%25bc-%25d1%2581%25d0%25b2%25d0%25be%25d0%25b9-%25d0%25bc%25d0%25b5%25d0%25b8%25d0%25bb-%25d1%2581%25d0%25b5%25d1%2580%25d0%25b2%25d0%25b5%25d1%2580-%25d0%25bd%25d0%25b0-mailcow%2F&amp;linkname=%D0%9F%D0%BE%D0%B4%D0%BD%D0%B8%D0%BC%D0%B0%D0%B5%D0%BC%20%D1%81%D0%B2%D0%BE%D0%B9%20%D0%BC%D0%B5%D0%B8%D0%BB%20%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%20%D0%BD%D0%B0%20mailcow" title="LinkedIn" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_skype" href="https://www.addtoany.com/add_to/skype?linkurl=https%3A%2F%2Fwiki.pwodev.com%2F%25d0%25bf%25d0%25be%25d0%25b4%25d0%25bd%25d0%25b8%25d0%25bc%25d0%25b0%25d0%25b5%25d0%25bc-%25d1%2581%25d0%25b2%25d0%25be%25d0%25b9-%25d0%25bc%25d0%25b5%25d0%25b8%25d0%25bb-%25d1%2581%25d0%25b5%25d1%2580%25d0%25b2%25d0%25b5%25d1%2580-%25d0%25bd%25d0%25b0-mailcow%2F&amp;linkname=%D0%9F%D0%BE%D0%B4%D0%BD%D0%B8%D0%BC%D0%B0%D0%B5%D0%BC%20%D1%81%D0%B2%D0%BE%D0%B9%20%D0%BC%D0%B5%D0%B8%D0%BB%20%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%20%D0%BD%D0%B0%20mailcow" title="Skype" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_whatsapp" href="https://www.addtoany.com/add_to/whatsapp?linkurl=https%3A%2F%2Fwiki.pwodev.com%2F%25d0%25bf%25d0%25be%25d0%25b4%25d0%25bd%25d0%25b8%25d0%25bc%25d0%25b0%25d0%25b5%25d0%25bc-%25d1%2581%25d0%25b2%25d0%25be%25d0%25b9-%25d0%25bc%25d0%25b5%25d0%25b8%25d0%25bb-%25d1%2581%25d0%25b5%25d1%2580%25d0%25b2%25d0%25b5%25d1%2580-%25d0%25bd%25d0%25b0-mailcow%2F&amp;linkname=%D0%9F%D0%BE%D0%B4%D0%BD%D0%B8%D0%BC%D0%B0%D0%B5%D0%BC%20%D1%81%D0%B2%D0%BE%D0%B9%20%D0%BC%D0%B5%D0%B8%D0%BB%20%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%20%D0%BD%D0%B0%20mailcow" title="WhatsApp" rel="nofollow noopener" target="_blank"></a><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=https%3A%2F%2Fwiki.pwodev.com%2F%25d0%25bf%25d0%25be%25d0%25b4%25d0%25bd%25d0%25b8%25d0%25bc%25d0%25b0%25d0%25b5%25d0%25bc-%25d1%2581%25d0%25b2%25d0%25be%25d0%25b9-%25d0%25bc%25d0%25b5%25d0%25b8%25d0%25bb-%25d1%2581%25d0%25b5%25d1%2580%25d0%25b2%25d0%25b5%25d1%2580-%25d0%25bd%25d0%25b0-mailcow%2F&#038;title=%D0%9F%D0%BE%D0%B4%D0%BD%D0%B8%D0%BC%D0%B0%D0%B5%D0%BC%20%D1%81%D0%B2%D0%BE%D0%B9%20%D0%BC%D0%B5%D0%B8%D0%BB%20%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%20%D0%BD%D0%B0%20mailcow" data-a2a-url="https://wiki.pwodev.com/%d0%bf%d0%be%d0%b4%d0%bd%d0%b8%d0%bc%d0%b0%d0%b5%d0%bc-%d1%81%d0%b2%d0%be%d0%b9-%d0%bc%d0%b5%d0%b8%d0%bb-%d1%81%d0%b5%d1%80%d0%b2%d0%b5%d1%80-%d0%bd%d0%b0-mailcow/" data-a2a-title="Поднимаем свой меил сервер на mailcow"></a></p><p>Сообщение <a href="https://wiki.pwodev.com/%d0%bf%d0%be%d0%b4%d0%bd%d0%b8%d0%bc%d0%b0%d0%b5%d0%bc-%d1%81%d0%b2%d0%be%d0%b9-%d0%bc%d0%b5%d0%b8%d0%bb-%d1%81%d0%b5%d1%80%d0%b2%d0%b5%d1%80-%d0%bd%d0%b0-mailcow/">Поднимаем свой меил сервер на mailcow</a> появились сначала на <a href="https://wiki.pwodev.com">Wiki | PWODEV</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://wiki.pwodev.com/%d0%bf%d0%be%d0%b4%d0%bd%d0%b8%d0%bc%d0%b0%d0%b5%d0%bc-%d1%81%d0%b2%d0%be%d0%b9-%d0%bc%d0%b5%d0%b8%d0%bb-%d1%81%d0%b5%d1%80%d0%b2%d0%b5%d1%80-%d0%bd%d0%b0-mailcow/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Простой локальный сервер на Docker</title>
		<link>https://wiki.pwodev.com/%d0%bb%d0%be%d0%ba%d0%b0%d0%bb%d1%8c%d0%bd%d1%8b%d0%b9-%d1%81%d0%b5%d1%80%d0%b2%d0%b5%d1%80-%d0%bd%d0%b0-docke/</link>
					<comments>https://wiki.pwodev.com/%d0%bb%d0%be%d0%ba%d0%b0%d0%bb%d1%8c%d0%bd%d1%8b%d0%b9-%d1%81%d0%b5%d1%80%d0%b2%d0%b5%d1%80-%d0%bd%d0%b0-docke/#respond</comments>
		
		<dc:creator><![CDATA[Paul Osmachko]]></dc:creator>
		<pubDate>Fri, 09 Oct 2020 07:42:07 +0000</pubDate>
				<category><![CDATA[Docker]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Server]]></category>
		<category><![CDATA[docker]]></category>
		<category><![CDATA[localhost]]></category>
		<category><![CDATA[nginx]]></category>
		<guid isPermaLink="false">https://wiki.pwodev.com/?p=919</guid>

					<description><![CDATA[<p>Итак, перед нами стала задача развернуть локальный сервер. Забегу в перед, мы будем настраивать простой локальный сервер на Docker. Сейчас будет немного лирики. Если хотите перейти сразу к настройке, нажмите Ctrl+D чтобы добавить эту статью в закладки браузера и прокрутите чуть ниже. Есть вариант использовать постоянный, дефолтный, нативный локальный сервер, то-есть средствами системы. Если это [&#8230;]</p>
<p>Сообщение <a href="https://wiki.pwodev.com/%d0%bb%d0%be%d0%ba%d0%b0%d0%bb%d1%8c%d0%bd%d1%8b%d0%b9-%d1%81%d0%b5%d1%80%d0%b2%d0%b5%d1%80-%d0%bd%d0%b0-docke/">Простой локальный сервер на Docker</a> появились сначала на <a href="https://wiki.pwodev.com">Wiki | PWODEV</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Итак, перед нами стала задача развернуть локальный сервер. Забегу в перед, мы будем настраивать простой локальный сервер на Docker. Сейчас будет немного лирики. Если хотите перейти сразу к настройке, нажмите <strong>Ctrl+D</strong> чтобы добавить эту статью в закладки браузера и прокрутите чуть ниже. </p>



<p>Есть вариант использовать постоянный, дефолтный, нативный локальный сервер, то-есть средствами системы. Если это локальный сервер на MacOS или Linux, то там уже почти все настроено, и можно использовать почти из коробки. Локальный сервер на Windows немного сложнее в установке, но тоже возможно. </p>



<p>Во всех этих способах необходимо выбрать определенную папку localhost в которой будут лежать файлы отображаемые на сервере. С одной стороны удобно, с другой, у нас же есть специальная рабочая папка, которую мы создали в удобном нам месте, распределенной по заказчикам и проектам. В ней лежит не только исходный код проекта но и документация по проекту, какие-то вспомогательные файлы от заказчика и тд. Не удобно дробить проект по разным папкам. Часть проекта в одной папке, в которой мы положили все что нам надо, но исходный код в совершенно другой, там где удобно локальному серверу. Мы хотим чтобы все данные по проекту лежали в одной папке. </p>



<p>Для решения этой задачи, добрые люди придумали локальный сервер на Docker.</p>



<p>Лирика закончилась переходим к действию.</p>



<h2 class="wp-block-heading">Локальный сервер на Docker настройка:</h2>



<p>Для начала создаем папку в любом месте где нам удобно. В этой папке создаем следующую структуру:</p>



<ul class="wp-block-list"><li><strong>www</strong> &#8212; папка в которой лежат исходники</li><li><strong>docker-compose.yml</strong> &#8212; файл в котором лежат основные настройки Docker</li><li><strong>Dockerfile</strong> &#8212; для настроек PHP в Docker</li><li><strong>Dockerfile-nginx</strong> &#8212; для настроек Nginx в Docker</li><li><strong>nginx-web.template</strong> &#8212; конфигурация Nginx</li></ul>



<h4 class="wp-block-heading">Структура готова перейдем к содержимому файлов.</h4>



<p>Надеюсь у вас уже установлен докер 🙂 Если нет, то пора установить.</p>



<h4 class="wp-block-heading">Простая конфигурация <strong>docker-compose.yml</strong></h4>



<pre class="wp-block-code"><code>version: '3'

services:
  nginx:
    build:
      context: .
      dockerfile: Dockerfile-nginx
    environment:
      - VIRTUAL_HOST=test.local
      - PHP_HOST=php
      - DOLLAR=$$
    volumes:
      - ./www:/var/www/html
    links:
      - db
    depends_on:
      - php
  php:
    build: .
    volumes:
      - ./www:/var/www/html
  db:
    image: mariadb
    restart: always
    volumes:
      - ./_mysql_:/var/lib/mysql
    environment:
      MYSQL_ROOT_PASSWORD: root
      MYSQL_USER: root
      MYSQL_PASSWORD: root
      MYSQL_DATABASE: table
    ports:
      - "8888:3306"
networks:
  default:
    external:
      name: frontproxy_default</code></pre>



<h4 class="wp-block-heading">Содержимое <strong>Dockerfile</strong></h4>



<pre class="wp-block-code"><code>FROM php:7.4-fpm</code></pre>



<h4 class="wp-block-heading">Содержимое <strong>Dockerfile-nginx</strong></h4>



<pre class="wp-block-code"><code>FROM nginx:latest
COPY nginx-web.template /etc/nginx/conf.d/nginx-web.template
ENTRYPOINT &#91;"/bin/bash", "-c", "envsubst &lt; /etc/nginx/conf.d/nginx-web.template > /etc/nginx/conf.d/default.conf &amp;&amp; exec nginx -g 'daemon off;'"]
</code></pre>



<h4 class="wp-block-heading">Простая настройка <strong>nginx-web.template</strong></h4>



<pre class="wp-block-code"><code>server {
    server_name ${VIRTUAL_HOST};
    root /var/www/html;
    index index.php;

    location / {
        try_files ${DOLLAR}uri ${DOLLAR}uri/ /index.php${DOLLAR}is_args${DOLLAR}args;
    }
    location ~ \.php$ {
        fastcgi_pass ${PHP_HOST}:9000;
        include fastcgi_params;

        fastcgi_param SCRIPT_FILENAME ${DOLLAR}realpath_root${DOLLAR}fastcgi_script_name;
        fastcgi_param DOCUMENT_ROOT ${DOLLAR}realpath_root;
    }
}</code></pre>



<p>Теперь надо добавить наш домен test.local в файл /etc/hosts</p>



<pre class="wp-block-code"><code>127.0.0.1 test.local</code></pre>



<p>Все готово. Теперь можно запускать сервер.</p>



<h3 class="wp-block-heading">Запускаем локальный сервер на Docker</h3>



<p>Как запустить докер? <a href="https://wiki.pwodev.com/docker-%d0%b2%d1%81%d0%b5-%d0%bd%d1%83%d0%b6%d0%bd%d1%8b%d0%b5-%d0%ba%d0%be%d0%bc%d0%b0%d0%bd%d0%b4%d1%8b/" target="_blank" rel="noreferrer noopener">Вот вам статья как пользоваться докером.</a></p>



<p>В командной строке пишем следующее:</p>



<pre class="wp-block-code"><code>docker-compose build &amp;&amp; docker-compose up -d</code></pre>



<p>Как перезапустить или пересобрать докер</p>



<pre class="wp-block-code"><code>docker-compose down &amp;&amp; docker-compose build &amp;&amp; docker-compose up -d</code></pre>



<p>Чтобы остановить Docker контейнер</p>



<pre class="wp-block-code"><code>docker-compose down</code></pre>



<p>Готово все 🙂 Теперь можно запустить браузер <a href="http://test.local" target="_blank" rel="noreferrer noopener">http://test.local</a> и радоваться результатом.</p>



<p>Важно знать что переодически надо чистить докер от мусора, где-то раз в год, если часто пересобираем контейнеры. Вот <a href="https://wiki.pwodev.com/docker-%d0%ba%d0%b0%d0%ba-%d0%bf%d0%be%d1%87%d0%b8%d1%81%d1%82%d0%b8%d1%82%d1%8c-%d0%b2%d0%b5%d1%81%d1%8c-%d0%bc%d1%83%d1%81%d0%be%d1%80/" target="_blank" rel="noreferrer noopener">статья на тему как почистить докер от мусора</a>.</p>



<p>Сегодня мы настроили ЛАМП LNMP LAMP Server. Который работает с той папки. с которой хотим, и этих серверов можно запускать сколько хочешь.</p>



<p>А теперь добавь эту статью в закладки и поделись с колегами:</p>
<p><a class="a2a_button_facebook" href="https://www.addtoany.com/add_to/facebook?linkurl=https%3A%2F%2Fwiki.pwodev.com%2F%25d0%25bb%25d0%25be%25d0%25ba%25d0%25b0%25d0%25bb%25d1%258c%25d0%25bd%25d1%258b%25d0%25b9-%25d1%2581%25d0%25b5%25d1%2580%25d0%25b2%25d0%25b5%25d1%2580-%25d0%25bd%25d0%25b0-docke%2F&amp;linkname=%D0%9F%D1%80%D0%BE%D1%81%D1%82%D0%BE%D0%B9%20%D0%BB%D0%BE%D0%BA%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%B9%20%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%20%D0%BD%D0%B0%20Docker" title="Facebook" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_vk" href="https://www.addtoany.com/add_to/vk?linkurl=https%3A%2F%2Fwiki.pwodev.com%2F%25d0%25bb%25d0%25be%25d0%25ba%25d0%25b0%25d0%25bb%25d1%258c%25d0%25bd%25d1%258b%25d0%25b9-%25d1%2581%25d0%25b5%25d1%2580%25d0%25b2%25d0%25b5%25d1%2580-%25d0%25bd%25d0%25b0-docke%2F&amp;linkname=%D0%9F%D1%80%D0%BE%D1%81%D1%82%D0%BE%D0%B9%20%D0%BB%D0%BE%D0%BA%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%B9%20%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%20%D0%BD%D0%B0%20Docker" title="VK" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_twitter" href="https://www.addtoany.com/add_to/twitter?linkurl=https%3A%2F%2Fwiki.pwodev.com%2F%25d0%25bb%25d0%25be%25d0%25ba%25d0%25b0%25d0%25bb%25d1%258c%25d0%25bd%25d1%258b%25d0%25b9-%25d1%2581%25d0%25b5%25d1%2580%25d0%25b2%25d0%25b5%25d1%2580-%25d0%25bd%25d0%25b0-docke%2F&amp;linkname=%D0%9F%D1%80%D0%BE%D1%81%D1%82%D0%BE%D0%B9%20%D0%BB%D0%BE%D0%BA%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%B9%20%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%20%D0%BD%D0%B0%20Docker" title="Twitter" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_linkedin" href="https://www.addtoany.com/add_to/linkedin?linkurl=https%3A%2F%2Fwiki.pwodev.com%2F%25d0%25bb%25d0%25be%25d0%25ba%25d0%25b0%25d0%25bb%25d1%258c%25d0%25bd%25d1%258b%25d0%25b9-%25d1%2581%25d0%25b5%25d1%2580%25d0%25b2%25d0%25b5%25d1%2580-%25d0%25bd%25d0%25b0-docke%2F&amp;linkname=%D0%9F%D1%80%D0%BE%D1%81%D1%82%D0%BE%D0%B9%20%D0%BB%D0%BE%D0%BA%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%B9%20%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%20%D0%BD%D0%B0%20Docker" title="LinkedIn" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_skype" href="https://www.addtoany.com/add_to/skype?linkurl=https%3A%2F%2Fwiki.pwodev.com%2F%25d0%25bb%25d0%25be%25d0%25ba%25d0%25b0%25d0%25bb%25d1%258c%25d0%25bd%25d1%258b%25d0%25b9-%25d1%2581%25d0%25b5%25d1%2580%25d0%25b2%25d0%25b5%25d1%2580-%25d0%25bd%25d0%25b0-docke%2F&amp;linkname=%D0%9F%D1%80%D0%BE%D1%81%D1%82%D0%BE%D0%B9%20%D0%BB%D0%BE%D0%BA%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%B9%20%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%20%D0%BD%D0%B0%20Docker" title="Skype" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_whatsapp" href="https://www.addtoany.com/add_to/whatsapp?linkurl=https%3A%2F%2Fwiki.pwodev.com%2F%25d0%25bb%25d0%25be%25d0%25ba%25d0%25b0%25d0%25bb%25d1%258c%25d0%25bd%25d1%258b%25d0%25b9-%25d1%2581%25d0%25b5%25d1%2580%25d0%25b2%25d0%25b5%25d1%2580-%25d0%25bd%25d0%25b0-docke%2F&amp;linkname=%D0%9F%D1%80%D0%BE%D1%81%D1%82%D0%BE%D0%B9%20%D0%BB%D0%BE%D0%BA%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%B9%20%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%20%D0%BD%D0%B0%20Docker" title="WhatsApp" rel="nofollow noopener" target="_blank"></a><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=https%3A%2F%2Fwiki.pwodev.com%2F%25d0%25bb%25d0%25be%25d0%25ba%25d0%25b0%25d0%25bb%25d1%258c%25d0%25bd%25d1%258b%25d0%25b9-%25d1%2581%25d0%25b5%25d1%2580%25d0%25b2%25d0%25b5%25d1%2580-%25d0%25bd%25d0%25b0-docke%2F&#038;title=%D0%9F%D1%80%D0%BE%D1%81%D1%82%D0%BE%D0%B9%20%D0%BB%D0%BE%D0%BA%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%B9%20%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%20%D0%BD%D0%B0%20Docker" data-a2a-url="https://wiki.pwodev.com/%d0%bb%d0%be%d0%ba%d0%b0%d0%bb%d1%8c%d0%bd%d1%8b%d0%b9-%d1%81%d0%b5%d1%80%d0%b2%d0%b5%d1%80-%d0%bd%d0%b0-docke/" data-a2a-title="Простой локальный сервер на Docker"></a></p><p>Сообщение <a href="https://wiki.pwodev.com/%d0%bb%d0%be%d0%ba%d0%b0%d0%bb%d1%8c%d0%bd%d1%8b%d0%b9-%d1%81%d0%b5%d1%80%d0%b2%d0%b5%d1%80-%d0%bd%d0%b0-docke/">Простой локальный сервер на Docker</a> появились сначала на <a href="https://wiki.pwodev.com">Wiki | PWODEV</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://wiki.pwodev.com/%d0%bb%d0%be%d0%ba%d0%b0%d0%bb%d1%8c%d0%bd%d1%8b%d0%b9-%d1%81%d0%b5%d1%80%d0%b2%d0%b5%d1%80-%d0%bd%d0%b0-docke/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Docker как почистить весь мусор</title>
		<link>https://wiki.pwodev.com/docker-%d0%ba%d0%b0%d0%ba-%d0%bf%d0%be%d1%87%d0%b8%d1%81%d1%82%d0%b8%d1%82%d1%8c-%d0%b2%d0%b5%d1%81%d1%8c-%d0%bc%d1%83%d1%81%d0%be%d1%80/</link>
					<comments>https://wiki.pwodev.com/docker-%d0%ba%d0%b0%d0%ba-%d0%bf%d0%be%d1%87%d0%b8%d1%81%d1%82%d0%b8%d1%82%d1%8c-%d0%b2%d0%b5%d1%81%d1%8c-%d0%bc%d1%83%d1%81%d0%be%d1%80/#comments</comments>
		
		<dc:creator><![CDATA[Paul Osmachko]]></dc:creator>
		<pubDate>Thu, 08 Oct 2020 14:23:36 +0000</pubDate>
				<category><![CDATA[Docker]]></category>
		<category><![CDATA[cli]]></category>
		<category><![CDATA[docker]]></category>
		<category><![CDATA[Terminal]]></category>
		<category><![CDATA[командная строка]]></category>
		<guid isPermaLink="false">https://wiki.pwodev.com/?p=917</guid>

					<description><![CDATA[<p>Итак, если у тебя мало места и ты давно не чистил докер, есть команда которая удалит все что создал докер. Очистить кеш докера. Удалить все имеджы докера. Удалить все контейнеры докера. Другими словами удалить абсолютно все из Docker. Никаких запущенных контейнеров не должно бытью Проверяем удалило ли все: Соответственно запущенных контейнеров тоже не должно быть: [&#8230;]</p>
<p>Сообщение <a href="https://wiki.pwodev.com/docker-%d0%ba%d0%b0%d0%ba-%d0%bf%d0%be%d1%87%d0%b8%d1%81%d1%82%d0%b8%d1%82%d1%8c-%d0%b2%d0%b5%d1%81%d1%8c-%d0%bc%d1%83%d1%81%d0%be%d1%80/">Docker как почистить весь мусор</a> появились сначала на <a href="https://wiki.pwodev.com">Wiki | PWODEV</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Итак, если у тебя мало места и ты давно не чистил докер, есть команда которая удалит все что создал докер. Очистить кеш докера. Удалить все имеджы докера. Удалить все контейнеры докера. Другими словами удалить абсолютно все из Docker. Никаких запущенных контейнеров не должно бытью</p>



<pre class="wp-block-code"><code>for i in $(docker images -aq); do docker rmi -f $i; done</code></pre>



<p>Проверяем удалило ли все:</p>



<pre class="wp-block-code"><code>docker images -a</code></pre>



<p>Соответственно запущенных контейнеров тоже не должно быть:</p>



<pre class="wp-block-code"><code>docker ps</code></pre>



<p><a href="https://www.digitalocean.com/community/tutorials/how-to-remove-docker-images-containers-and-volumes" target="_blank" rel="noreferrer noopener">Хорошая статья где более подробно описано как чистить докер.</a></p>



<p>Лучше всего регулярно удалять все не нужное этой командой:</p>



<pre class="wp-block-code"><code>docker system prune -a</code></pre>



<p>Это удалит все что больше не нужно, и не трогает запущенные контейнеры и нужные имеджи.</p>
<p><a class="a2a_button_facebook" href="https://www.addtoany.com/add_to/facebook?linkurl=https%3A%2F%2Fwiki.pwodev.com%2Fdocker-%25d0%25ba%25d0%25b0%25d0%25ba-%25d0%25bf%25d0%25be%25d1%2587%25d0%25b8%25d1%2581%25d1%2582%25d0%25b8%25d1%2582%25d1%258c-%25d0%25b2%25d0%25b5%25d1%2581%25d1%258c-%25d0%25bc%25d1%2583%25d1%2581%25d0%25be%25d1%2580%2F&amp;linkname=Docker%20%D0%BA%D0%B0%D0%BA%20%D0%BF%D0%BE%D1%87%D0%B8%D1%81%D1%82%D0%B8%D1%82%D1%8C%20%D0%B2%D0%B5%D1%81%D1%8C%20%D0%BC%D1%83%D1%81%D0%BE%D1%80" title="Facebook" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_vk" href="https://www.addtoany.com/add_to/vk?linkurl=https%3A%2F%2Fwiki.pwodev.com%2Fdocker-%25d0%25ba%25d0%25b0%25d0%25ba-%25d0%25bf%25d0%25be%25d1%2587%25d0%25b8%25d1%2581%25d1%2582%25d0%25b8%25d1%2582%25d1%258c-%25d0%25b2%25d0%25b5%25d1%2581%25d1%258c-%25d0%25bc%25d1%2583%25d1%2581%25d0%25be%25d1%2580%2F&amp;linkname=Docker%20%D0%BA%D0%B0%D0%BA%20%D0%BF%D0%BE%D1%87%D0%B8%D1%81%D1%82%D0%B8%D1%82%D1%8C%20%D0%B2%D0%B5%D1%81%D1%8C%20%D0%BC%D1%83%D1%81%D0%BE%D1%80" title="VK" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_twitter" href="https://www.addtoany.com/add_to/twitter?linkurl=https%3A%2F%2Fwiki.pwodev.com%2Fdocker-%25d0%25ba%25d0%25b0%25d0%25ba-%25d0%25bf%25d0%25be%25d1%2587%25d0%25b8%25d1%2581%25d1%2582%25d0%25b8%25d1%2582%25d1%258c-%25d0%25b2%25d0%25b5%25d1%2581%25d1%258c-%25d0%25bc%25d1%2583%25d1%2581%25d0%25be%25d1%2580%2F&amp;linkname=Docker%20%D0%BA%D0%B0%D0%BA%20%D0%BF%D0%BE%D1%87%D0%B8%D1%81%D1%82%D0%B8%D1%82%D1%8C%20%D0%B2%D0%B5%D1%81%D1%8C%20%D0%BC%D1%83%D1%81%D0%BE%D1%80" title="Twitter" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_linkedin" href="https://www.addtoany.com/add_to/linkedin?linkurl=https%3A%2F%2Fwiki.pwodev.com%2Fdocker-%25d0%25ba%25d0%25b0%25d0%25ba-%25d0%25bf%25d0%25be%25d1%2587%25d0%25b8%25d1%2581%25d1%2582%25d0%25b8%25d1%2582%25d1%258c-%25d0%25b2%25d0%25b5%25d1%2581%25d1%258c-%25d0%25bc%25d1%2583%25d1%2581%25d0%25be%25d1%2580%2F&amp;linkname=Docker%20%D0%BA%D0%B0%D0%BA%20%D0%BF%D0%BE%D1%87%D0%B8%D1%81%D1%82%D0%B8%D1%82%D1%8C%20%D0%B2%D0%B5%D1%81%D1%8C%20%D0%BC%D1%83%D1%81%D0%BE%D1%80" title="LinkedIn" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_skype" href="https://www.addtoany.com/add_to/skype?linkurl=https%3A%2F%2Fwiki.pwodev.com%2Fdocker-%25d0%25ba%25d0%25b0%25d0%25ba-%25d0%25bf%25d0%25be%25d1%2587%25d0%25b8%25d1%2581%25d1%2582%25d0%25b8%25d1%2582%25d1%258c-%25d0%25b2%25d0%25b5%25d1%2581%25d1%258c-%25d0%25bc%25d1%2583%25d1%2581%25d0%25be%25d1%2580%2F&amp;linkname=Docker%20%D0%BA%D0%B0%D0%BA%20%D0%BF%D0%BE%D1%87%D0%B8%D1%81%D1%82%D0%B8%D1%82%D1%8C%20%D0%B2%D0%B5%D1%81%D1%8C%20%D0%BC%D1%83%D1%81%D0%BE%D1%80" title="Skype" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_whatsapp" href="https://www.addtoany.com/add_to/whatsapp?linkurl=https%3A%2F%2Fwiki.pwodev.com%2Fdocker-%25d0%25ba%25d0%25b0%25d0%25ba-%25d0%25bf%25d0%25be%25d1%2587%25d0%25b8%25d1%2581%25d1%2582%25d0%25b8%25d1%2582%25d1%258c-%25d0%25b2%25d0%25b5%25d1%2581%25d1%258c-%25d0%25bc%25d1%2583%25d1%2581%25d0%25be%25d1%2580%2F&amp;linkname=Docker%20%D0%BA%D0%B0%D0%BA%20%D0%BF%D0%BE%D1%87%D0%B8%D1%81%D1%82%D0%B8%D1%82%D1%8C%20%D0%B2%D0%B5%D1%81%D1%8C%20%D0%BC%D1%83%D1%81%D0%BE%D1%80" title="WhatsApp" rel="nofollow noopener" target="_blank"></a><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=https%3A%2F%2Fwiki.pwodev.com%2Fdocker-%25d0%25ba%25d0%25b0%25d0%25ba-%25d0%25bf%25d0%25be%25d1%2587%25d0%25b8%25d1%2581%25d1%2582%25d0%25b8%25d1%2582%25d1%258c-%25d0%25b2%25d0%25b5%25d1%2581%25d1%258c-%25d0%25bc%25d1%2583%25d1%2581%25d0%25be%25d1%2580%2F&#038;title=Docker%20%D0%BA%D0%B0%D0%BA%20%D0%BF%D0%BE%D1%87%D0%B8%D1%81%D1%82%D0%B8%D1%82%D1%8C%20%D0%B2%D0%B5%D1%81%D1%8C%20%D0%BC%D1%83%D1%81%D0%BE%D1%80" data-a2a-url="https://wiki.pwodev.com/docker-%d0%ba%d0%b0%d0%ba-%d0%bf%d0%be%d1%87%d0%b8%d1%81%d1%82%d0%b8%d1%82%d1%8c-%d0%b2%d0%b5%d1%81%d1%8c-%d0%bc%d1%83%d1%81%d0%be%d1%80/" data-a2a-title="Docker как почистить весь мусор"></a></p><p>Сообщение <a href="https://wiki.pwodev.com/docker-%d0%ba%d0%b0%d0%ba-%d0%bf%d0%be%d1%87%d0%b8%d1%81%d1%82%d0%b8%d1%82%d1%8c-%d0%b2%d0%b5%d1%81%d1%8c-%d0%bc%d1%83%d1%81%d0%be%d1%80/">Docker как почистить весь мусор</a> появились сначала на <a href="https://wiki.pwodev.com">Wiki | PWODEV</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://wiki.pwodev.com/docker-%d0%ba%d0%b0%d0%ba-%d0%bf%d0%be%d1%87%d0%b8%d1%81%d1%82%d0%b8%d1%82%d1%8c-%d0%b2%d0%b5%d1%81%d1%8c-%d0%bc%d1%83%d1%81%d0%be%d1%80/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
	</channel>
</rss>
