Mam prosty Dockerfile, dokładnie tak, jak poniżej:ssh-keyscan nie znaleziono w Dockerfile
FROM ubuntu:14.04
RUN apt-get update
RUN apt-get -y upgrade
RUN mkdir -p /root/.ssh
RUN touch /root/.ssh/known_hosts
RUN ssh-keyscan github.com >> /root/.ssh/known_hosts
Wynik biegu:
docker build -no-cache -t testimage .
jest:
Step 5 : RUN ssh-keyscan github.com >> /root/.ssh/known_hosts
---> Running in e11ef5962a11
/bin/sh: 1: ssh-keyscan: not found
Świetnie! Nie przyszło mi do głowy, że ssh nie jest jeszcze zainstalowany. Ale biorąc pod uwagę, że ssh w dockingu wydaje się być anty-praktyką, przypuszczam, że ma to sens. Dzięki! – KevinArrrrrg
@KevinArrrrrg tak, aby uzyskać dostęp do uruchomionego kontenera z hosta silnika dokera, wystarczy 'docker exec bash'. Ale aby uzyskać dostęp do działającego kontenera z innego komputera, ssh jest prawowitym słuchaczem, który musi być zainstalowany. –
VonC
Jeśli jesteś tylko po ssh-keyscan, klient openssh ma mniejszą powierzchnię niż pakiet ssh. –