-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathNext cloud
136 lines (99 loc) · 6.12 KB
/
Next cloud
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
Для развертывания сервера облачного хранения данных с указанными параметрами, следуйте следующим инструкциям:
Шаг 1: Установка Docker и Docker Compose
Перед тем, как начать развертывание сервера, вам необходимо установить Docker и Docker Compose на сервер.
Установите Docker и Docker Compose, выполнив следующие команды:
```
sudo apt update
sudo apt install docker.io
sudo systemctl start docker
sudo systemctl enable docker
```
Команда `apt update` обновляет список пакетов.
Команда `apt install docker.io` устанавливает пакет Docker.
Команда `systemctl start docker` запускает Docker.
Команда `systemctl enable docker` настраивает Docker, чтобы он запускался при каждом запуске системы.
Шаг 2: Создание директории и файлов
Создайте новую директорию с именем "nextcloud" с помощью команды:
```
mkdir nextcloud
cd nextcloud
```
Затем создайте файл `docker-compose.yml`, который будет содержать конфигурацию для контейнеров Docker, используемых для развертывания сервера облачного хранения NextCloud:
```
version: '3'
services:
db:
image: mariadb:latest
command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
restart: always
volumes:
- db:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=root_password
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud_user
- MYSQL_PASSWORD=nextcloud_password
app:
image: nextcloud:latest
restart: always
ports:
- 8080:80
volumes:
- nextcloud:/var/www/html
- /mnt/data:/mnt/data
depends_on:
- db
phpmyadmin:
image: phpmyadmin/phpmyadmin:latest
restart: always
ports:
- 8888:80
environment:
- PMA_HOST=db
- MYSQL_ROOT_PASSWORD=root_password
depends_on:
- db
volumes:
nextcloud:
db:
```
Шаг 3: Запуск контейнеров Docker
Запустите контейнеры Docker с помощью команды:
```
docker-compose up -d
```
Пара слов о файле docker-compose.yml:
Секция services содержит три сервиса: БД, NextCloud и phpMyAdmin.
- Сервис БД использует образ mariadb:latest, настраивает параметры и окружение и монтирует том db:/var/lib/mysql в хостовую директорию.
- Сервис NextCloud использует образ nextcloud:latest, настраивает параметры и окружение, монтирует том nextcloud:/var/www/html в хостовую директорию и выставляет порт 8080 наружу.
- Сервис phpMyAdmin использует образ phpmyadmin/phpmyadmin:latest, настраивает параметры и окружение, и выставляет порт 8888 наружу.
Шаг 4: Проверка работоспособности контейнеров
После запуска контейнеров вы можете проверить работоспособность NextCloud, phpMyAdmin и БД.
Для проверки работоспособности NextCloud перейдите в веб-браузере на страницу http://IP_адрес_сервера:8080, где IP_адрес_сервера - IP-адрес сервера облачного хранения. Вы увидите страницу входа в NextCloud, где вы можете создать учетную запись, настройте доступ к облаку и управлять своими файлами.
Для проверки работоспособности phpMyAdmin перейдите в веб-браузере на страницу http://IP_адрес_сервера:8888, где IP_адрес_сервера – IP-адрес сервера облачного хранения. Вы увидите страницу входа в phpMyAdmin, где необходимо ввести имя пользователя и пароль, которые были настроены в файле docker-compose.yml.
Шаг 5: Автоматический запуск контейнеров после перезагрузки
Чтобы контейнеры автоматически запускались после перезагрузки, создайте файл /etc/systemd/system/docker-compose.service со следующим содержимым:
```
[Unit]
Description=Docker Compose
Requires=docker.service
After=docker.service
[Service]
Type=oneshot
RemainAfterExit=yes
WorkingDirectory=/путь/к/docker-compose.yml
ExecStart=/usr/local/bin/docker-compose up -d
ExecStop=/usr/local/bin/docker-compose down
TimeoutStartSec=0
[Install]
WantedBy=multi-user.target
```
Этот файл определяет новый сервис systemd под названием docker-compose, использующее файл docker-compose.yml для запуска и остановки контейнеров.
Выполните следующие команды для запуска нового сервиса:
```
sudo systemctl daemon-reload
sudo systemctl enable docker-compose
sudo systemctl start docker-compose
```
Теперь после перезагрузки сервера контейнеры автоматически запустятся.
Поздравляем, вы развернули сервер облачного хранения данных с использованием контейнеров Docker, настроили автоматический запуск контейнеров после перезагрузки и проверили работоспособность NextCloud, phpMyAdmin и БД.