2015-12-14 3 views
2

Из документа распределения докера: https://github.com/docker/distributionКак добавить `--registry-mirror` при запуске docker из" Docker quickstart terminal "?

Это говорит настроить докер использовать зеркало, мы должны:

Configuring the Docker daemon 

You will need to pass the --registry-mirror option to your Docker daemon on startup: 

docker --registry-mirror=https://<my-docker-mirror-host> daemon 

Я новичок в докер, и я начинаю докер из макинтоша нормально самые при условии «Docker Quickstart Termial» приложение, которое Actaully вызывает start.sh оболочки:

#!/bin/bash 

VM=default 
DOCKER_MACHINE=/usr/local/bin/docker-machine 
VBOXMANAGE=/Applications/VirtualBox.app/Contents/MacOS/VBoxManage 

BLUE='\033[0;34m' 
GREEN='\033[0;32m' 
NC='\033[0m' 

unset DYLD_LIBRARY_PATH 
unset LD_LIBRARY_PATH 

clear 

if [ ! -f $DOCKER_MACHINE ] || [ ! -f $VBOXMANAGE ]; then 
    echo "Either VirtualBox or Docker Machine are not installed. Please re-run the Toolbox Installer and try again." 
    exit 1 
fi 

$VBOXMANAGE showvminfo $VM &> /dev/null 
VM_EXISTS_CODE=$? 

if [ $VM_EXISTS_CODE -eq 1 ]; then 
    echo "Creating Machine $VM..." 
    $DOCKER_MACHINE rm -f $VM &> /dev/null 
    rm -rf ~/.docker/machine/machines/$VM 
    $DOCKER_MACHINE create -d virtualbox --virtualbox-memory 2048 --virtualbox-disk-size 204800 $VM 
else 
    echo "Machine $VM already exists in VirtualBox." 
fi 

VM_STATUS=$($DOCKER_MACHINE status $VM) 
if [ "$VM_STATUS" != "Running" ]; then 
    echo "Starting machine $VM..." 
    $DOCKER_MACHINE start $VM 
    yes | $DOCKER_MACHINE regenerate-certs $VM 
fi 

echo "Setting environment variables for machine $VM..." 
clear 

cat << EOF 


         ##   . 
        ## ## ##  == 
       ## ## ## ## ## === 
      /"""""""""""""""""\___/ === 
     ~~~ {~~ ~~~~ ~~~ ~~~~ ~~~ ~/===- ~~~ 
      \______ o   __/ 
      \ \   __/ 
       \____\_______/ 


EOF 
echo -e "${BLUE}docker${NC} is configured to use the ${GREEN}$VM${NC} machine with IP ${GREEN}$($DOCKER_MACHINE ip $VM)${NC}" 
echo "For help getting started, check out the docs at https://docs.docker.com" 
echo 

eval $($DOCKER_MACHINE env $VM --shell=bash) 

USER_SHELL=$(dscl /Search -read /Users/$USER UserShell | awk '{print $2}' | head -n 1) 
if [[ $USER_SHELL == *"/bash"* ]] || [[ $USER_SHELL == *"/zsh"* ]] || [[ $USER_SHELL == *"/sh"* ]]; then 
    $USER_SHELL --login 
else 
    $USER_SHELL 
fi 

ли это правильный файл, который я могу поставить свою «--registry-зеркало» конфиг к нему? Что мне делать?

ответ

1

Если вы делаете docker-machine create --help:

docker-machine create --help 
Usage: docker-machine create [OPTIONS] [arg...] 

Create a machine. 

Run 'docker-machine create --driver name' to include the create flags for that driver in the help text. 

Options: 
... 
    --engine-insecure-registry [--engine-insecure-registry option --engine-insecure-registry option]  Specify insecure registries to allow with the created en 
gine 
    --engine-registry-mirror [--engine-registry-mirror option --engine-registry-mirror option]   Specify registry mirrors to use 

Таким образом, вы можете изменить свой сценарий, чтобы добавить еще один параметр:

--engine-registry-mirror=... 

Однако, так как ваш «default» Докер-машина, вероятно, уже существует (сделайте docker-machine ls), вам может потребоваться сначала удалить его (docker-machine rm default: убедитесь, что вы можете легко воссоздать свои изображения из локальных файлов Dockerfiles и/или у вас нет контейнера данных, который необходимо будет сохранить первым)

0

Открыть C:\Users\<YourName>\.docker\daemon.json, отредактировать запись "registry-mirror" в этом файле.

enter image description here

{"registry-mirrors":["https://registry.docker-cn.com"],"insecure-registries":[], "debug":true, "experimental": true}