AtomHub
AtomHub возглавляется Фондом открытого исходного кода Open Atom и запускается совместно с несколькими отраслевыми партнерами. Он соответствует стандарту образов контейнеров OCI (Open Container Initiative, именуемый в дальнейшем «OCI») и направлен на предоставление разработчикам новых, открытых и нейтральных. , безопасный, надежный, эффективный и удобный Центр образов контейнеров с открытым исходным кодом первого поколения.
Из-за нестабильности и неуправляемости хранилищ образов, таких как Docker Hub, а также ограничений некоторых политик и правил, разработчики также сталкиваются с различными проблемами и трудностями при использовании этих хранилищ образов.
Ввиду вышеизложенных причин создание нейтрального, открытого и совместно созданного доверенного центра зеркала контейнеров с открытым исходным кодом стало актуальной проблемой, которую необходимо решить. Был запущен проект AtomHub — центр зеркал контейнеров с открытым исходным кодом, целью которого является предоставить разработчикам новое поколение зеркального центра контейнеров с открытым исходным кодом с аутентичными исходными кодами, открытой экологией, нейтральностью платформы, безопасностью и надежностью.
AtomHub создаст собственный доверенный корневой образ и надежную систему построения полносвязных ссылок на основе отечественных операционных систем и программного обеспечения, будет поддерживать сканирование уязвимостей безопасности и обнаружение соответствия контента, оперативно обнаруживать и устранять уязвимости образа и риски безопасности, а также обеспечивать безопасность уровня образа. и заслуживает доверия, восстанавливая устойчивую цепочку поставок изображений контейнеров.
AtomHub планирует использовать ключевые технологии, такие как высокопроизводительное серверное хранилище изображений, мультиоблачная синхронизация CDN, а также автоматический дамп и выгрузка горячих и холодных данных, чтобы создать платформу для одновременного распространения образов контейнеров в масштабе миллиона уровней, чтобы предоставить пользователям стабильную и надежную сервисы загрузки изображений.
Пять основных стратегических планов AtomHub:
Редактировать файл конфигурации Docker
Откройте или создайте файл /etc/docker/daemon.json.
{
"registry-mirrors": [
"https://atomhub.openatom.cn"
]
}
Перезапустите службу докеров.
systemctl daemon-reload
systemctl restart docker
Посмотреть зеркальный репозиторий
docker info |grep -C 2 "Registry Mirrors"
AtomHub: https://atomhub.openatom.cn/
Развертывание образа AtomHub nginx
1. Загрузите изображение
docker pull atomhub.openatom.cn/amd64/nginx:1.25.2-perl
Посмотреть изображение
docker images
2. Временно запустите контейнер, чтобы скопировать файл конфигурации.
docker run -itd --name nginx-server -p 80:80 -p 443:443 -v --privileged=true --restart=always atomhub.openatom.cn/amd64/nginx:1.25.2-perl
Скопировать файл конфигурации
Создать каталог хранения сопоставлений
mkdir -p /docker/nginx
Скопировать файл конфигурации
docker cp nginx-server:/etc/nginx/ /docker/nginx/nginx
docker cp nginx-server:/usr/share/nginx/html/ /docker/nginx/html
docker cp nginx-server:/var/log/nginx/ /docker/nginx/logs
Удалить запущенный контейнер
docker rm -f nginx-server
3. Запустите каталог хранения сопоставлений контейнеров nginx-сервера.
docker run -itd --name nginx-server -p 80:80 -p 443:443 -v /docker/nginx/nginx:/etc/nginx -v /docker/nginx/logs:/var/log/nginx -v /docker/nginx/html:/usr/share/nginx/html --privileged=true --restart=always -e TZ=Asia/Shanghai atomhub.openatom.cn/amd64/nginx:1.25.2-perl
Введение в параметры запуска докера
docker run [ОПЦИИ] Имя изображения: имя тега
-он в интерактивном режиме запускает контейнер и после его запуска входит в командную строку, то есть выделяя виртуальный терминал.
-d создает контейнер демона для работы в фоновом режиме и возвращает идентификатор контейнера;
--name Указывает имя создаваемого контейнера.
-p сопоставление портов, формат: -p порт хоста: порт контейнера
--privileged=true отображает многоуровневые каталоги, чтобы предотвратить отсутствие разрешений
--restart=always Контейнер запускается с помощью службы докеров
-v представляет сопоставление каталогов, формат: -v каталог хоста:каталог контейнера.
Подключите файл конфигурации к файлу конфигурации в контейнере.
-v /docker/nginx/nginx:/etc/nginx
Подключите папку данных к папке, в которой данные хранятся в контейнере.
-v /docker/nginx/html:/usr/share/nginx/html
Монтировать журнал
-v /docker/nginx/logs:/var/log/nginx
Установить часовой пояс
-e TZ=Asia/Shanghai
Ограничить размер памяти
--memory=4G или 4096M
Ограничить процессор
--cpus=2
4. Доступ к контейнеру nginx-сервера
доступ к контейнеру
docker exec -it --user root nginx-server /bin/bash
Хост выполняет команды в контейнере
docker exec nginx-server /bin/bash -c 'nginx -V'
Проверьте версию nginx
docker exec nginx-server nginx -V
Посмотреть журнал nginx
docker logs -f --tail=10 nginx-server
веб-тест nginx
echo "uos docker atomhub" > /docker/nginx/html/index.html
доступ к скручиванию
curl 127.0.0.1
uos docker atomhub
5,Docker Общие команды
Просмотр информации о версии докера
docker version
Просмотр информации о докере
docker info
Управление изображениями
Вытащить изображение
имя образа извлечения Docker
имя образа извлечения Docker:tag
Поиск изображений
имя изображения поиска в Docker
Удалить изображение
Идентификатор/имя изображения docker rmi
docker rmi atomhub.openatom.cn/amd64/nginx:1.25.2-perl
Посмотреть изображение
docker images -a
Информация о работе контейнера
Посмотреть статус контейнера
docker ps -a
Изменить имя контейнера
Docker переименовывает идентификатор контейнера/имя контейнера новое имя контейнера
Просмотр рабочего каталога докера
sudo docker info | grep "Docker Root Dir"
Проверьте общее использование диска докером
du -hs /var/lib/docker/
Проверьте использование конкретного диска Docker
docker system df
Просмотр информации о контейнере
docker inspect nginx-server
Войти в режим контейнера
docker exec -it имя контейнера/идентификатор контейнера /bin/bash
Управление запуском и остановкой контейнера
Запустить контейнер
Docker запускает идентификатор контейнера/имя контейнера
Остановить контейнер
идентификатор/имя контейнера остановки docker
убить контейнер
docker убить контейнерID/контейнеримя
Перезапустить контейнер
docker restart Идентификатор контейнера/имя контейнера
Удалить контейнер
Удалить контейнер
docker rm -f имя контейнера/идентификатор контейнера
Чтобы удалить несколько контейнеров, разделите имена контейнеров или идентификаторы удаляемых контейнеров пробелами.
docker rm -f имя контейнера/идентификатор контейнера Имя контейнера/идентификатор контейнера Имя контейнера/идентификатор контейнера
Удалить все контейнеры
docker rm -f $(docker ps -aq)
Просмотр журналов контейнера
docker logs -f --tail=Сколько строк в конце вы хотите видеть по умолчанию для всех идентификаторов контейнеров?
docker logs -f --tail=10 nginx-server
сохранить изображение
Сохраните изображение как сжатый файл tar и загрузите его на любой сервер, где установлен Docker.
Заказ:
docker сохранить имя/идентификатор изображения -o путь к хранилищу изображений
docker save nginx-server -o /opt/nginx-server.tar
Загрузить изображение
Загрузить изображение сохранить документ и восстановить его на зеркало
docker load -i расположение файла сохранения изображения
docker load -i /opt/nginx-server.tar