2016-06-08 20 views
11

Avviava un'applicazione dockerizzata denominata nginx e quindi eseguiva bash al suo interno. Con mia santa sorpresa non riesco a trovare vim, vi o anche yum dentro quel contenitore.Impossibile utilizzare vim, vi, nano, yum all'interno della finestra mobile

Per favore perdonami perché sono molto nuovo alla docker e all'apprendimento.

I seguenti comandi possono essere utilizzati per riprodurre il problema.

docker run -d --name=my_nginxtemp nginx 
docker exec -i -t my_nginxtemp bash 
docker commit my_nginxtemp my_nginx 

mio ospite è Ubuntu 16.04 e sto usando Ultime finestra mobile-motore e finestra mobile cli

[email protected]:/home/jim/web# docker version 
Client: 
Version: 1.11.2 
API version: 1.23 
Go version: go1.5.4 
Git commit: b9f10c9 
Built: Wed Jun 1 22:00:43 2016 
OS/Arch: linux/amd64 

Server: 
Version: 1.11.2 
API version: 1.23 
Go version: go1.5.4 
Git commit: b9f10c9 
Built: Wed Jun 1 22:00:43 2016 
OS/Arch: linux/amd64 
[email protected]:/home/jim/web# 

prega di non andare sul mio hostname ho aggiornato dal 15.04: slight_smile:

[email protected]:/home/jim/web# lsb_release -a 
No LSB modules are available. 
Distributor ID: Ubuntu 
Description: Ubuntu 16.04 LTS 
Release: 16.04 
Codename: xenial 
[email protected]:/home/jim/web# 

Qualsiasi aiuto sarebbe molto apprezzato.

+0

che è capitato a me oggi! Ho visto in alcuni argomenti anche per cambiare il Dockerfile. Lo proverò –

risposta

6

al mio santo sorpresa non riesco a trovare vim, vi o anche yum dentro quel contenitore.

Dipende semplicemente sulla sua immagine di base nginx image e: se vim non è stato installato, la vostra contenitore non lo troverà.

È possibile creare la propria immagine, a partire da nginx e adding the software you need.

FROM nginx 
RUN apt-get update 
RUN apt-get install vim 
+0

Ma quell'immagine avrebbe accesso ad internet? Di 'se vuoi installare qualche software aggiuntivo? Quello che mi sorprende è che alla fine è un sistema operativo e un server Web, quindi perché non avere la possibilità di installare software? – learner

+0

@learner quell'immagine avrebbe lo stesso accesso a internet del tuo host. Se sei dietro un proxy, usa http://stackoverflow.com/a/35286398/6309 e assicurati che il tuo demone docker sia a conoscenza di quel proxy (https://docs.docker.com/engine/admin/systemd/# http-proxy) – VonC

+0

Fresco. Vorrei costruire quell'immagine! Molte grazie – learner

18

sudo apt-get update sudo
apt-get install vim

ho avuto lo stesso problema. Ho seguito i semplici due passaggi sopra e ha funzionato come un fascino.

+0

Questo è più corretto :) –

+0

nella finestra mobile che sto eseguendo dice 'sudo: comando non trovato' – d8aninja

+1

@ D8Amonk> è perché hai già effettuato l'accesso come root. È sufficiente rimuovere "sudo" – Spock

0

È possibile creare un Dockerfile per utilizzare l'immagine finestra mobile nginx e modificarlo con che si desidera aggiungere ...

FROM nginx 
RUN ["apt-get","update"] 
RUN ["apt-get","install","-y","vi"] 
+0

Non è stato possibile trovare il pacchetto 'vi' per me. Dovevo fare 'vim'. –

+0

quindi RUN ["apt-get", "installa", "- y", "vim"] – KatyGB

Problemi correlati