Saya telah menginstal buruh pelabuhan di mesin virtual host saya. Dan sekarang ingin membuat file menggunakan vi
.
Tapi itu menunjukkan kepada saya kesalahan:
bash: vi: command not found
Saya telah menginstal buruh pelabuhan di mesin virtual host saya. Dan sekarang ingin membuat file menggunakan vi
.
Tapi itu menunjukkan kepada saya kesalahan:
bash: vi: command not found
image
Anda membangun. Kemungkinan besar yang image
Anda gunakan sangat ringan sehingga hanya memiliki hal-hal yang Anda butuhkan untuk dijalankan sebagai gambar. Anda perlu menginstal paket yang Anda butuhkan secara manual.
Jawaban:
login ke container dengan perintah berikut:
docker exec -it <container> bash
Kemudian, jalankan perintah berikut.
apt-get update
apt-get install vim
Penampung Anda mungkin belum memasangnya di luar kotak.
Jalankan apt-get install vim
di terminal dan Anda harus siap untuk pergi.
vim-tiny
(Ubuntu)
apt-get update
KEMUDIANapt-get install vim
Perintah untuk menjalankan tergantung pada gambar dasar yang Anda gunakan.
Untuk Alpine, vi
diinstal sebagai bagian dari OS dasar. Instalasi vim
akan menjadi:
apk -U add vim
Untuk Debian dan Ubuntu:
apt-get update && apt-get install -y vim
Untuk CentOS, vi
biasanya dipasang dengan base OS. Untuk vim
:
yum install -y vim
Ini seharusnya hanya dilakukan pada pengembangan awal. Setelah Anda mendapatkan wadah yang berfungsi, perubahan pada file harus dilakukan pada gambar atau konfigurasi yang disimpan di luar wadah Anda. Perbarui Dockerfile Anda dan file lain yang digunakannya untuk membuat image baru. Hal ini tentunya tidak boleh dilakukan dalam produksi karena perubahan di dalam wadah bersifat sementara dan akan hilang saat wadah diganti.
USER root
di dalam Dockerfile melakukan ini, tetapi pastikan untuk beralih kembali ke pengguna Anda yang lain. Saya adalah wadah yang sedang berjalan:docker exec -u root ...
GUNAKAN INI:
apt-get update && apt-get install -y vim
Penjelasan perintah di atas
bash: apt-get: command not found
apk add
Atau, pertahankan gambar buruh pelabuhan Anda kecil dengan tidak memasang editor yang tidak perlu. Anda dapat mengedit file melalui ssh dari host buruh pelabuhan ke penampung:
vim scp://remoteuser@container-ip//path/to/document
Gunakan perintah di bawah ini dalam penampung berbasis Debian:
apt-get install vim-tiny
Instruksi lengkap untuk menggunakan di Dockerfile:
RUN apt-get update && apt-get install --no-install-recommends -y \
vim-tiny \
&& apt-get clean && rm -rf /var/lib/apt/lists/*
Itu tidak menginstal paket yang tidak perlu dan menghapus file yang tidak perlu diunduh, sehingga ukuran gambar buruh pelabuhan Anda tidak akan meningkat secara dramatis.
Untuk menginstal dalam wadah Docker Anda, Anda dapat menjalankan perintah
buruh pelabuhan exec apt-get update && apt-get install -y vim
Tetapi ini akan terbatas pada wadah tempat vim dipasang. Untuk membuatnya tersedia untuk semua container, edit Dockerfile dan tambahkan
JALANKAN pembaruan apt-get && apt-get install -y vim
atau Anda juga dapat memperluas image di Dockerfile baru dan menambahkan perintah di atas. Misalnya.
DARI <image name>
JALANKAN pembaruan apt-get && apt-get install -y vim
Di dalam container (di buruh pelabuhan, bukan di VM), secara default ini tidak diinstal. Bahkan apt-get , wget tidak akan berfungsi. VM saya berjalan di Ubuntu 17.10. Bagi saya yum manaager paket berhasil.
Yum bukan bagian dari debian atau ubuntu. Itu bagian dari topi merah. Tapi, ini berfungsi di Ubuntu dan diinstal secara default seperti apt-get
Untuk menginstal vim, gunakan perintah ini
yum install -y vim-enhanced
Untuk menghapus vim:
yum uninstall -y vim-enhanced
Demikian pula,
yum install -y wget
yum install -y sudo
-y untuk asumsi yes jika diminta untuk pertanyaan apa pun yang ditanya setelah melakukan yum install nama paket
Jika Anda benar-benar menginginkan editor kecil untuk pekerjaan rumah sederhana di buruh pelabuhan, gunakan ini di Dockerfile Anda:
RUN apt-get install -y busybox && ln -s /bin/busybox /bin/vi
Saya menggunakannya pada buruh pelabuhan berbasis Ubuntu 18. (Tentu saja Anda mungkin memerlukan RUN apt-get update
sebelumnya tetapi jika Anda membuat file Docker Anda sendiri, Anda mungkin sudah memilikinya.)
Jika Anda perlu mengubah file sekali saja. Anda harus memilih melakukan perubahan secara lokal dan membangun image buruh pelabuhan baru dengan file ini.
Katakanlah dalam gambar buruh pelabuhan, Anda perlu mengubah file bernama myFile.xml di bawah / path / to / docker / image /. Jadi, Anda perlu melakukannya.
FROM docker-repo:tag
ADD myFile.xml /path/to/docker/image/
Kemudian buat gambar buruh pelabuhan Anda sendiri dengan docker build -t docker-repo:v-x.x.x .
Kemudian gunakan image buruh pelabuhan yang baru Anda buat.