Во время загрузки образов с Docker Hub из-за проблем с сетью могут возникнуть трудности. Для устранения этих проблем можно настроить ускорение загрузки образов.
Официальный скрипт установки:
curl -fsSL https://get.docker.com | sh
Скрипт установки для китайских пользователей (источник)
bash <(curl -sSL https://gitee.com/wanfeng789/shell/raw/master/docker.sh)
Или использовать репозиторий Тунцзы
bash <(curl -sSL https://gitee.com/wanfeng789/shell/raw/master/install.sh) --mirror Tuna
Официальный URL для загрузки — после загрузки переместите файл в корневую директорию
URL для загрузки с репозитория Тунцзы
tar xzvf docker-26.1.3.tgz # Замените версию
sudo mv docker/* /usr/local/bin/
sudo vim /etc/systemd/system/docker.service
Добавьте следующий текст
[Unit]
Description=Docker Application Container Engine
After=network-online.target firewalld.service
Wants=network-online.target
[Service]
Type=notify
ExecStart=/usr/local/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
Restart=always
RestartSec=2
StartLimitBurst=3
StartLimitInterval=60s
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
Delegate=yes
KillMode=process
[Install]
WantedBy=multi-user.target
sudo chmod +x /etc/systemd/system/docker.service
sudo systemctl daemon-reload
sudo systemctl start docker
sudo systemctl enable docker
```#### Проверка версии
docker -v
</details>
<details>
<summary>Ручная установка Docker-compose без подключения к интернету</summary>
***Установка Docker-compose для китайских пользователей***
[Загрузите файлы вручную здесь](https://github.com/docker/compose/releases) и переместите их в директорию `/usr/local/bin` сервера
Переименуйте файл в docker-compose
sudo cp docker-compose-linux-x86_64 /usr/local/bin/docker-compose
Добавьте права на выполнение
chmod +x /usr/local/bin/docker-compose
Проверьте установку
docker-compose --version
#### Внимание:
Так как `docker-compose` установлен в виде двоичного файла, команда запуска будет отличаться. Пример запуска:
docker-compose up -d
## Настройка ускоренной загрузки
> Ubuntu 16.04+, Debian 8+, CentOS 7+
Создайте или отредактируйте файл `/etc/docker/daemon.json`:
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<EOF { "registry-mirrors": [ "https://docker.1ms.run", "https://docker.1panel.live" ] } EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
#### Примечание: если перезапуск службы Docker затруднителен, можно не настраивать глобальное ускорение загрузки, а добавлять ускорение при каждом запуске образа. Пример:
docker pull docker. Yöntem. Live/library/mysql:5.7
Объяснение: `library` — это специальное пространство имен, которое представляет собой официальные образы. Если это образ пользователя, замените `library` на имя пользователя.
### Настройка Docker DesktopДля пользователей Docker Desktop на компьютере нажмите правый верхний угол для открытия настроек, найдите `Docker Engine` и измените конфигурацию. Пример после изменения:
{ "builder": { "gc": { "defaultKeepStorage": "20GB", "enabled": true } }, "experimental": false, "registry-mirrors": [ "https://docker.1ms.run", "https://docker.1panel.live" ] }
Затем нажмите правый нижний угол для сохранения и перезапуска.### Проверка настройки ускоренной загрузки
Просмотрите системную информацию Docker командой `docker info`. Если в результатах появляются ваши настроенные ускоренные адреса, значит настройка выполнена успешно.
Registry Mirrors: [...] https://docker.1panel.live
## Использование прокси для загрузки образов
- Внимание: если вы используете ускоренные источники, этот метод не требуется.
#### Создание конфигурационного файла
sudo mkdir -p /etc/systemd/system/docker.service.d
sudo vim /etc/systemd/system/docker.service.d/http-proxy.conf
#### Настройка прокси в файле
[Service] Environment="HTTP_PROXY=http://127.0.0.1:1080" Environment="HTTPS_PROXY=http://127.0.0.1:1080"
#### Перезапуск Docker
sudo systemctl daemon-reload sudo systemctl restart docker
#### Просмотр переменных окружения
sudo systemctl show --property=Environment docker
#### Перенаправление локального трафика на сервер
Используйте SSH обратное перенаправление для перенаправления трафика с локального порта Yöntem 10808 на порт 1080 сервера.
ssh -R 1080:127.0.0.1:10808 root@серверный_адрес -N
`-N` означает, что соединение будет установлено, но не будет открыт диалог.---
## Запасной метод: упаковка образа на локальную машину
1: Сжатие и сохранение образа на локальной машине
docker save имя_образа > имя_образа.tar
2: Ручная загрузка на другой сервер
3: Распаковка образа на другом сервере
docker load < имя_образа.tar
4: Просмотр образов
docker images
---## Измерение скорости загрузки образов с Docker Hub
При загрузке образа можно использовать `time` для подсчета затраченного времени. Перед измерением скорости убедитесь, что локальные образы удалены.
Пример: `time docker pull node:latest`
## Включение IPv6 для Docker
Создайте или отредактируйте файл `/etc/docker/daemon.json`
Добавьте следующую конфигурацию:
{ "ipv6": true, "fixed-cidr-v6": "2001:db8:1::/64" }
Перезапустите: `sudo systemctl restart docker`
## Удаление Docker
sudo systemctl stop docker sudo apt-get purge docker-ce docker-ce-cli containerd.io sudo rm -rf /etc/docker /var/lib/docker
---
## Список ускоренных источников Docker
> Можно использовать на постоянной основе
Поставщик | Адрес ускоренного источника | Описание | Тип ускорения
--- | --- | --- | ---
[1panel](https://1panel.cn/docs/user_manual/containers/setting/) | `https://docker.1panel.live` | Без ограничений | Docker Hub
[мс-образ](https://docker. Yöntem 1ms.run) | `https://docker.1ms.run` | С черным списком и опциональным использованием CDN в Китае | Docker Hub
[DaoCloud](https://github.com/DaoCloud/public-image-mirror) | `https://docker.m.daocloud.io` | С белым списком и ограничением скорости | Docker Hub
[Huawei Cloud](https://console.huaweicloud.com/swr/#/swr/dashboard) | `https://***.mirror.swr.myhuaweicloud.com` | Требуется вход и назначение | Docker Hub
[Tencent Cloud](https://cloud.tencent.com/document/product/1207/45596) | `https://mirror.ccs.tencentyun.com` | Только для машин Tencent Cloud | Docker Hub
[Нanjing University](https://doc.nju.edu.cn/books/e1654) | `https://ghcr.nju.edu.cn` | Ускорение ghcr | ghcr
[Нanjing University](https://doc.nju.edu.cn/books/e1654) | `https://k8s.nju.edu.cn` | Ускорение k8s | k8s
Исправления:
- "мс-образ" переведено как "мс-образ".
- "Yöntem 1ms.run" переведено как "метод 1ms.run".
- "Tencent Cloud" переведено как "Tencent Cloud".
- "Нanjing University" переведено как "Нanjing University".
- "ghcr" и "k8s" оставлены без изменений, так как это термины и абривиатуры.+ Ссылка на статус: https://status.1panel.top/status/docker
+ Поиск образов: https://docker.cmliussss.net
---## Часто используемые команды Docker:| Функция | Команда | Описание |
| ------------- | ------------------- | ---------------- |
| Сборка образа | `docker build -t имя_образа .` | Сначала выполните `docker login` для входа в Docker Hub |
| Отправка образа | `docker push имя_пользователя/имя_образа` | Сначала пометьте образ `docker tag 53321f173e имя_пользователя/имя_образа` |
| Просмотр контейнеров | `docker ps` | `-a` для просмотра всех контейнеров, включая остановленные |
| Мониторинг ресурсов контейнеров | `docker stats` | Просмотр использования ресурсов всеми контейнерами |
| Просмотр детальной информации контейнера | `docker inspect` | Просмотр `Mounts` для файловых систем и `Networks` для сетей |
| Вход в контейнер | `docker exec -it имя_контейнера sh` | В конце можно использовать `/bin/sh` |
| Создание сети контейнеров | `docker network create my-network` | `my-network` — имя сети |
| Добавление контейнера в сеть | `docker network connect my-network имя_контейнера` | Замените имя или ID контейнера |
| Сетевая конфигурация хоста | `network_mode: host` | Используется в `docker-compose` |
| Сетевая конфигурация контейнера | `--network host` | Используется в `docker run` |
| Просмотр сети | `docker network inspect my-network` | Просмотр контейнеров в сети `my-network` |
| Просмотр изменений в контейнере | `docker diff имя_контейнера` | Просмотр изменений файлов в контейнере |
| Остановка контейнера | `docker stop` | `docker stop имя_контейнера_или_ID` |
| Запуск контейнера | `docker start` | `docker start имя_контейнера_или_ID` |
| Перезапуск контейнера | `docker restart` | `docker restart имя_контейнера_или_ID` || Удаление контейнера | `docker rm` | `docker rm имя_контейнера_или_ID` |
| Просмотр образов | `docker images` | `docker images имя_образа_или_ID` |
| Удаление образа | `docker rmi -f` | `docker rmi -f имя_образа_или_ID` |
| Очистка ресурсов | `docker system prune` | Очистка всех неиспользуемых ресурсов: контейнеры, сети, образы, кэш |
| Удаление всех образов | `docker rmi -f $(docker images -aq)` | Удаление всех образов |
| Удаление всех контейнеров | `docker container prune -f` | Удаление всех остановленных контейнеров |
| Остановка всех контейнеров | `docker stop $(docker ps -aq)` | Остановка всех контейнеров |
| Остановка и удаление | `docker compose down` | Остановка и удаление контейнеров, управляемых `docker-compose` |
| Пересоздание контейнеров | `docker compose up -d --force-recreate` | Пересоздание контейнеров, управляемых `docker-compose` |
| Копирование файлов | `docker cp wordpress:/app/data.yaml /home` | Копирование из контейнера на хост |
| Копирование файлов | `docker cp /home/data.yaml wordpress:/app/` | Копирование с хоста в контейнер |### редактор vim
Установка: `apt update`, `apt install curl wget git zip vim -y` или `apk add vim`
Основные команды:
| Функция | Команда | Описание |
|-------------|-------------------|----------------|
| Сохранить и выйти | `:wq` | Выполняется в командном режиме |
| Выйти без сохранения | `:q!` | Выполняется в командном режиме |
| Очистить все содержимое | `:%d` | Выполняется в командном режиме |
| Вставить текст, сохраняя форматирование кода | `:set paste` | Выполняется, затем нажмите `i` для перехода в режим редактирования |
| Перейти в режим редактирования | `i` | Выполняется в командном режиме |
| Выйти из режима редактирования | `esc` | Выполняется в режиме редактирования |
| Изменить кодировку для поддержки кириллицы | `:set encoding=utf-8` | Выполняется, затем нажмите `i` для перехода в режим редактирования |
---### редактор nano| **Функции** | **Клавиатурные сокращения** | **Описание** |
|------------------------|-----------------------------|-----------------------------------------------|
| **Перемещение курсора**| | |
| Начало строки | `Ctrl + A` | Перемещение на начало строки |
| Конец строки | `Ctrl + E` | Перемещение на конец строки |
| Указанная строка и столбец | `Ctrl + _` | Перемещение на указанную строку и столбец |
| **Операции с файлом** | | |
| Сохранить файл | `Ctrl + O` | Сохранение файла, Enter для подтверждения |
| Выход из `nano` | `Ctrl + X` | Выход из редактора, `y` для сохранения, `n` для отмены |
| Сохранить как | `Ctrl + O` | Ввод нового имени файла для сохранения |
| **Редактирование** | | |
| Вырезать текущую строку | `Ctrl + K` | Вырезание текущей строки |
| Быстрое выделение | `Ctrl + Shift + ↓` | Одно нажатие для одной строки, удерживайте для нескольких строк |
| Удалить текущую строку | `Ctrl + K` | Удаление текущей строки |
| Отменить действие | `Ctrl + _` | Отмена предыдущего действия |
| Повторить действие | `Ctrl + E` | Повторение предыдущего действия |
| **Поиск и замена** | | || Поиск | `Ctrl + W` | Поиск указанного текста |
| Обратный поиск | `Ctrl + W` + `Ctrl + R` | Обратный поиск |
| Поиск и замена | `Ctrl + \` | Поиск и замена текста |
| **Операции со строками**| | |
| Показать номер строки | `Ctrl + G` | Показать текущую позицию курсора |---### Пожертвование через WeChat
<img src="docker/wx.png" alt="Пожертвование через WeChat" width="300">
| Пожертвователь | Время | Сумма |
|----------------|-------------|---------|
| Нет | ... | ... |
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )