1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/wanfeng789-docker-hub

Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Ускорение доступа к Docker Hub

При извлечении образов внутри Китая могут возникать трудности, что создает проблемы для обучения и разработки. В этом случае можно настроить ускорение доступа к образам.

Установка Docker

Официальный установочный скрипт (не работает на машинах в Китае):

curl -fsSL https://get.docker.com | sh

Источник Tsinghua:

bash <(curl -sSL https://gitee.com/wanfeng789/shell/raw/master/install.sh) --mirror Tuna

Установочный скрипт для Китая (поддерживает несколько систем) (источник скрипта)

bash <(curl -sSL https://gitee.com/wanfeng789/shell/raw/master/docker.sh)
Ручная офлайн-установка Docker

Скачивание Docker:

Официальная страница для скачивания — после скачивания загрузите файл в директорию root

Для Китая используйте эту ссылку на скачивание с Tsinghua

tar xzvf docker-26.1.3.tgz     # Замените на фактическую версию, которую вы скачали
sudo mv docker/* /usr/local/bin/

Создание файла службы Docker

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

Запуск и включение службы Docker

sudo chmod +x /usr/local/bin/dockerd
sudo systemctl daemon-reload
sudo systemctl start docker
sudo systemctl enable docker

Проверка версии

docker -v
Ручная офлайн-установка Docker-compose

Ручная установка Docker-compose в китайской среде

Скачайте файл вручную здесь и загрузите его в директорию /usr/local/bin на сервере

Адрес: https://github.com/docker/compose/releases

Если нет доступа к GitHub, см. здесь: https://gitee.com/wanfeng789/github

Переименуйте файл в 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

Разница заключается в -, так как при установке с помощью официального скрипта docker-compose устанавливается как плагин, поэтому - не требуется.

Настройка ускоренного доступа

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.1panel.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"
  ]
}

Затем нажмите Apply & restart для сохранения и перезапуска.

Проверка работы ускорения

Просмотрите информацию системы 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-перенаправление для перенаправления трафика с локального порта 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://docker.1panel.live Без ограничений Docker Hub
Хуань Юань https://docker.xuanyuan.me Без ограничений Docker Hub
Миллисекундный https://docker.1ms.run Черный список и опциональный CDN Docker Hub
DaoCloud https://docker.m.daocloud.io Белый список и ограничение скорости Docker Hub
Huawei Cloud https://***.mirror.swr.myhuaweicloud.com Требуется вход для распределения Docker Hub
Tencent Cloud https://mirror.ccs.tencentyun.com Только для машин Tencent Cloud Docker Hub
Наньцзинский университет https://ghcr.nju.edu.cn Ускорение ghcr ghcr
Наньцзинский университет https://k8s.nju.edu.cn Ускорение k8s k8s

Часто используемые команды 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 Можно использовать /bash вместо sh
Создание сети контейнеров docker network create моя_сеть моя_сеть — имя сети
Подключение контейнера к сети docker network connect моя_сеть имя_контейнера Замените имя контейнера или ID
Использование сети хоста network_mode: host Используется в docker-compose
Использование сети хоста --network host Используется в docker run
Просмотр сети docker network inspect моя_сеть Просмотр контейнеров в сети моя_сеть
Просмотр изменений 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 up -d --force-recreate Принудительное удаление и перезапуск контейнеров из композиции
Копирование файлов 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 + C Показ текущего положения курсора

Поддержка автора через WeChat

Поддержка автора через WeChat

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

🎉 Ускорение Docker-образов, ускорение Docker, ускорение Docker в Китае. Поддерживает ускорение множества репозиториев. Новое! Полное! Множество методов! docker образы Развернуть Свернуть
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/wanfeng789-docker-hub.git
git@api.gitlife.ru:oschina-mirror/wanfeng789-docker-hub.git
oschina-mirror
wanfeng789-docker-hub
wanfeng789-docker-hub
master