2017-02-13 5 views
0

Мой вопрос: как подключиться к разъему докер-машины внутри контейнера-докера?Как связаться с докер-контейнером на докер-машине?

то, что я хочу добиться того, чтобы dockerize АНИ-шлюз, но это апи-шлюз должен взаимодействовать с сокетом докер-машины, чтобы быть в состоянии обнаружить бегущего контейнер вроде следующего:

const machine = process.env.DOCKER_HOST 
const tls = process.env.DOCKER_TLS_VERIFY 
const certDir = process.env.DOCKER_CERT_PATH 

if (!machine) { 
    throw new Error('You must set the DOCKER_HOST environment variable') 
} 
if (tls === 1) { 
    throw new Error('When using DOCKER_TLS_VERIFY=1 you must specify the property DOCKER_CERT_PATH for certificates') 
} 
if (!certDir) { 
    throw new Error('You must set the DOCKER_CERT_PATH environment variable') 
} 

const dockerSettings = { 
    protocol: 'https', 
    host: machine.substr(machine.indexOf(':', 0) + 3, machine.indexOf(':', 6) - 6), 
    port: parseInt(machine.substr(-4), 10), 
    checkServerIdentity: false, 
    ca: fs.readFileSync(certDir + '/ca.pem'), 
    cert: fs.readFileSync(certDir + '/cert.pem'), 
    key: fs.readFileSync(certDir + '/key.pem'), 
    version: 'v1.25' 
} 

Этот запуск выполняется на локальном хосте и имеет доступ к переменным env и имеет доступ к сокету докеров.

Как я связываю от libarary dockerode как следующего

const docker = new Docker(dockerSettings) 

Но когда я положил его в контейнере необходимости разделить этот сокет с контейнером, чтобы иметь возможность выполнять команды Докера, это для создания своего рода открытия службы докеров в узлах.

ответ

0

Как я писал в another answer, вы можете установить шлюз при запуске своего контейнера, создать прокси-сервер для доступа к вашим приложениям node.js или взять ip-адрес хоста из контейнера.

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

Смежные вопросы