pvpered
@pvpered

Как установить сертификат для скачивания образа docker?

Пытаюсь сделать образ с Oracle Weblogic.

FROM store/oracle/weblogic:12.2.1.4При запуске скрипта пишет, что нужна авторизация для скачивания.

[+] Building 8.8s (4/4) FINISHED
 => [internal] load build definition from Dockerfile                                                               0.2s
 => => transferring dockerfile: 38B                                                                                0.1s
 => [internal] load .dockerignore                                                                                  0.6s
 => => transferring context: 2B                                                                                    0.1s
 => ERROR [internal] load metadata for docker.io/store/oracle/weblogic:12.2.1.4                                    7.9s
 => [auth] store/oracle/weblogic:pull token for registry-1.docker.io                                               0.0s
------
 > [internal] load metadata for docker.io/store/oracle/weblogic:12.2.1.4:
------
failed to solve with frontend dockerfile.v0: failed to create LLB definition: failed to authorize: rpc error: code = Unknown desc = failed to fetch oauth token: Get https://auth.docker.io/token?scope=repository%3Astore%2Foracle%2Fweblogic%3Apull&service=registry.docker.io: x509: certificate signed by unknown authority

Dockerfile
# LICENSE UPL 1.0
#
# Copyright (c) 2014-2018 Oracle and/or its affiliates. All rights reserved.
#
# ORACLE DOCKERFILES PROJECT
# --------------------------
# This Dockerfile extends the Oracle WebLogic image by creating a sample domain.
#
# The 'base-domain' created here has Java EE 7 APIs enabled by default:
#  - JAX-RS 2.0 shared lib deployed
#  - JPA 2.1,
#  - WebSockets and JSON-P
#
# Util scripts are copied into the image enabling users to plug NodeManager
# magically into the AdminServer running on another container as a Machine.
#
# HOW TO BUILD THIS IMAGE
# -----------------------
# Put all downloaded files in the same directory as this Dockerfile
# Run:
#      $ sudo docker build -t 1213-domain --build-arg ADMIN_PASSWORD=welcome1 .
#

# Pull base image
# ---------------
FROM container-registry.oracle.com/middleware/weblogic

# WLS Configuration
# -------------------------------
ARG ADMIN_PASSWORD
ARG PRODUCTION_MODE

ENV DOMAIN_NAME="base_domain" \
    PRE_DOMAIN_HOME=/u01/oracle/user_projects \
    ADMIN_PORT="7001" \
    ADMIN_HOST="wlsadmin" \
    NM_PORT="5556" \
    MS_PORT="7002" \
    CONFIG_JVM_ARGS="-Dweblogic.security.SSL.ignoreHostnameVerification=true" \
    PATH=$PATH:/u01/oracle/oracle_common/common/bin:/u01/oracle/wlserver/common/bin:$PRE_DOMAIN_HOME/domains/base_domain:$PRE_DOMAIN_HOME/domains/base_domain/bin:/u01/oracle

# Add files required to build this image
COPY scripts/* /u01/oracle/

# Configuration of WLS Domain
USER root
WORKDIR /u01/oracle
RUN /u01/oracle/wlst /u01/oracle/create-wls-domain.py && \
    mkdir -p $PRE_DOMAIN_HOME && \
    chmod a+xr $PRE_DOMAIN_HOME && \
    chown -R oracle:oracle $PRE_DOMAIN_HOME && \
    mkdir -p $PRE_DOMAIN_HOME/domains/base_domain/servers/AdminServer/security && \
    echo "username=weblogic" > $PRE_DOMAIN_HOME/domains/base_domain/servers/AdminServer/security/boot.properties && \
    echo "password=$ADMIN_PASSWORD" >> $PRE_DOMAIN_HOME/domains/base_domain/servers/AdminServer/security/boot.properties && \
    echo ". $PRE_DOMAIN_HOME/domains/base_domain/bin/setDomainEnv.sh" >> /u01/oracle/.bashrc && \
    echo "export PATH=$PATH:/u01/oracle/wlserver/common/bin:$PRE_DOMAIN_HOME/domains/base_domain/bin" >> /u01/oracle/.bashrc && \
    cp /u01/oracle/commEnv.sh /u01/oracle/wlserver/common/bin/commEnv.sh && \
    rm /u01/oracle/create-wls-domain.py /u01/oracle/jaxrs2-template.jar

# Expose Node Manager default port, and also default http/https ports for admin console
EXPOSE $NM_PORT $ADMIN_PORT $MS_PORT

USER oracle
WORKDIR $PRE_DOMAIN_HOME/domains/base_domain

# Define default command to start bash.
CMD ["/u01/oracle/user_projects/domains/base_domain/startWebLogic.sh"]

Как установить сертификат?
  • Вопрос задан
  • 103 просмотра
Решения вопроса 1
pvpered
@pvpered Автор вопроса
Помогло добавление ключа insecure-registry с указанием хоста. Самоподписные сертификаты или добавление в daemon.json никак не повлияли на ситуацию.
docker build --insecure-registry container-registry.oracle.com --build-arg ADMIN_PASSWORD=$1  -t 1213-domain .
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@q2digger
никого не трогаю, починяю примус
а у меня нескромный вопрос - а Dockerfile у вас случайно не с маленькой буквы написан?
Ответ написан
@dronmaxman
VoIP Administrator
x509: certificate signed by unknown authority

Вообще написано, что твой ПК не доверяет сертификату https://auth.docker.io, т.к. он подписан не известным для него центром сертификации. На твой ПК надо поставить CA которым подписан auth.docker.io.

На ubuntu можно сделать так
https://www.techrepublic.com/article/how-to-instal...

Alpine
https://support.circleci.com/hc/en-us/articles/360...

Install CA
https://forums.docker.com/t/docker-private-registr...
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы