При извлечении образов внутри Китая могут возникать трудности, что создает проблемы для обучения и разработки. В этом случае можно настроить ускорение доступа к образам.
Официальный установочный скрипт (не работает на машинах в Китае):
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)
Официальная страница для скачивания — после скачивания загрузите файл в директорию root
Для Китая используйте эту ссылку на скачивание с Tsinghua
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 /usr/local/bin/dockerd
sudo systemctl daemon-reload
sudo systemctl start docker
sudo systemctl enable docker
docker -v
Ручная установка 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 pull docker.1panel.live/library/mysql:5.7
Объяснение: library
— это специальное пространство имен, представляющее официальные образы. Если это образ пользователя, замените library
на имя пользователя образа.
Для пользователей 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"
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
При извлечении образов можно использовать time
для подсчета общего времени. Перед тестированием удалите локальный образ.
Например: time docker pull node:latest
Создайте или отредактируйте файл /etc/docker/daemon.json
Добавьте следующую конфигурацию:
{
"ipv6": true,
"fixed-cidr-v6": "2001:db8:1::/64"
}
Перезапустите: sudo systemctl restart docker
sudo systemctl stop docker
sudo apt-get purge docker-ce docker-ce-cli containerd.io
sudo rm -rf /etc/docker /var/lib/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 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 |
Копирование с хоста в контейнер |
Установка: 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 , чтобы перейти в режим редактирования |
Функция | Комбинация клавиш | Описание |
---|---|---|
Перемещение курсора | ||
Начало строки | 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 |
Показ текущего положения курсора |
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )