起因:
(學習影片分享:程式設計影片)
#需要改動一些設定文件,但突然發現沒有安裝vi命令。
jenkins@jenkins-ci-jenkins-primary-1:/$ vimbash: vim: command not found
現在但是進去docker容器裡面發現沒有vi或vim。於是想要安裝
jenkins@jenkins-ci-jenkins-primary-1:/$ apt-get install viE: Could not open lock file /var/lib/dpkg/lock - open (13: Permission denied)E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?jenkins@jenkins-ci-jenkins-primary-1:/$
安裝的時候發現沒有root 權限,於是我只能跑到宿主主機上去拿root權限
[root@rancher ~]# sudo docker exec -it -u root 8745541a21226a2a064219da9b55b04aa5c43ceed84195b8555531026a5f6f56 bashroot@jenkins-ci-jenkins-primary-1:/# root@jenkins-ci-jenkins-primary-1:/# root@jenkins-ci-jenkins-primary-1:/# apt-get installReading package lists... DoneBuilding dependency treeReading state information... Done0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.root@jenkins-ci-jenkins-primary-1:/# apt-get install viReading package lists... DoneBuilding dependency treeReading state information... DoneE: Unable to locate package vi
發現用root進去,還是不能安裝,原因是:沒有更新APT函式庫,那我們更新一下就好了
apt-get updateapt-get upgrade
執行指令如下
root@jenkins-ci-jenkins-primary-1:/# apt-get updateGet:1 http://security.debian.org stretch/updates InRelease [94.3 kB]Ign:2 http://deb.debian.org/debian stretch InReleaseGet:3 http://deb.debian.org/debian stretch-updates InRelease [91.0 kB]Get:4 http://deb.debian.org/debian stretch Release [118 kB]Get:5 http://security.debian.org stretch/updates/main amd64 Packages [650 kB]Get:6 http://deb.debian.org/debian stretch-updates/main amd64 Packages [33.7 kB]Get:7 http://deb.debian.org/debian stretch Release.gpg [2410 B]Get:8 http://deb.debian.org/debian stretch/main amd64 Packages [9476 kB]Fetched 10.5 MB in 13min 51s (12.6 kB/s) Reading package lists... Doneroot@jenkins-ci-jenkins-primary-1:/# apt-get upgradeReading package lists... DoneBuilding dependency treeReading state information... DoneCalculating upgrade... DoneThe following packages will be upgraded: apt base-files bsdutils bzr ca-certificates ca-certificates-java curl dbus debian-archive-keyring dirmngr dpkg e2fslibs e2fsprogs gcc-6-base git git-man gnupg gnupg-agent gpgv iproute2 java-common libapparmor1 libapt-pkg5.0 libatk-wrapper-java libatk-wrapper-java-jni libblkid1 libc-bin libc6 libcomerr2 libcups2 libcurl3 libcurl3-gnutls libdbus-1-3 libexpat1 libfdisk1 libfreetype6 libgcc1 libgcrypt20 libgdk-pixbuf2.0-0 libgdk-pixbuf2.0-common libglib2.0-0 libglib2.0-data libgnutls30 libicu57 libidn11 liblcms2-2 libldap-2.4-2 libldap-common libmount1 libncurses5 libncursesw5 libnghttp2-14 libperl5.24 libpng16-16 libprocps6 libpython2.7-minimal libpython2.7-stdlib libsasl2-2 libsasl2-modules-db libserf-1-1 libsmartcols1 libsoup-gnome2.4-1 libsoup2.4-1 libsqlite3-0 libss2 libssh2-1 libssl1.0.2 libssl1.1 libstdc++6 libsvn1 libsystemd0 libtasn1-6 libtiff5 libtinfo5 libudev1 libuuid1 libvorbis0a libvorbisenc2 libwayland-client0 libwayland-cursor0 libwayland-server0 libx11-6 libx11-data libx11-dev libx11-doc libx11-xcb1 libxcursor1 libxkbcommon0 libxml2 mount multiarch-support ncurses-base ncurses-bin openjdk-8-jdk openjdk-8-jdk-headless openjdk-8-jre openjdk-8-jre-headless openssh-client openssl perl perl-base perl-modules-5.24 procps python-bzrlib python2.7 python2.7-minimal sensible-utils shared-mime-info subversion tzdata unzip util-linux wget113 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.Need to get 108 MB of archives.After this operation, 2933 kB of additional disk space will be used.Do you want to continue? [Y/n]
安裝vi
root@jenkins-ci-jenkins-primary-1:/# apt-get install vimReading package lists... DoneBuilding dependency treeReading state information... DoneThe following additional packages will be installed: libgpm2 vim-common vim-runtime xxdSuggested packages: gpm ctags vim-doc vim-scriptsThe following NEW packages will be installed: libgpm2 vim vim-common vim-runtime xxd0 upgraded, 5 newly installed, 0 to remove and 0 not upgraded.Need to get 6769 kB of archives.After this operation, 31.2 MB of additional disk space will be used.Do you want to continue? [Y/n] yGet:1 http://deb.debian.org/debian stretch/main amd64 xxd amd64 2:8.0.0197-4+deb9u3 [132 kB]Get:2 http://deb.debian.org/debian stretch/main amd64 vim-common all 2:8.0.0197-4+deb9u3 [159 kB]Get:3 http://deb.debian.org/debian stretch/main amd64 libgpm2 amd64 1.20.4-6.2+b1 [34.2 kB]Get:4 http://deb.debian.org/debian stretch/main amd64 vim-runtime all 2:8.0.0197-4+deb9u3 [5409 kB]48% [4 vim-runtime 2717 kB/5409 kB 50%]
測試:
Vi 1.txt
#相關推薦:docker教學
以上是docker容器中如何安裝vim的詳細內容。更多資訊請關注PHP中文網其他相關文章!

Docker和Kubernetes通過容器編排提升應用部署和管理效率。 1.Docker通過Dockerfile構建鏡像並運行容器,確保應用一致性。 2.Kubernetes通過Pod、Deployment和Service管理容器,實現自動化部署和擴展。

Docker和Kubernetes是容器化和編排的領軍者。 Docker專注於容器生命週期管理,適合小型項目;Kubernetes則擅長容器編排,適用於大規模生產環境。兩者結合可提升開發和部署效率。

Docker和Linux是完美的搭配,因為它們可以簡化應用的開發和部署流程。 1)Docker利用Linux的namespaces和cgroups實現容器隔離和資源管理。 2)Docker容器比虛擬機更高效,啟動速度快,鏡像分層結構便於構建和分發。 3)在Linux上,Docker的安裝和使用非常簡單,只需幾條命令即可。 4)通過DockerCompose,可以方便地管理和部署多容器應用。

Docker和Kubernetes的區別在於:Docker是容器化平台,適合小型項目和開發環境;Kubernetes是容器編排系統,適合大型項目和生產環境。 1.Docker簡化應用部署,適用於資源有限的小型項目。 2.Kubernetes提供自動化和擴展能力,適用於需要高效管理的大型項目。

使用Docker和Kubernetes可以構建可擴展的應用。 1)使用Dockerfile創建容器鏡像,2)通過kubectl命令部署Kubernetes的Deployment和Service,3)使用HorizontalPodAutoscaler實現自動擴展,從而構建高效、可擴展的應用架構。

Docker和Kubernetes的主要區別在於:Docker用於容器化,Kubernetes用於容器編排。 1.Docker提供一致的環境來開發、測試和部署應用,通過容器實現隔離和資源限制。 2.Kubernetes管理容器化應用,提供自動化部署、擴展和管理功能,支持負載均衡和自動伸縮。兩者結合使用能提升應用的部署和管理效率。

在Linux上安裝和配置Docker需要確保系統為64位且內核版本3.10及以上,使用命令“sudoapt-getupdate&&sudoapt-getinstalldocker-cedocker-ce-clicontainerd.io”安裝,並用“sudodockerrunhello-world”驗證。 Docker利用Linux內核的命名空間和控制組實現容器隔離和資源限制,鏡像是只讀模板,容器可進行修改。使用示例包括運行Nginx服務器和自定義Dockerfile創建鏡像。常見

使用Docker的原因是它提供高效、便攜且一致的環境來打包、分發和運行應用程序。 1)Docker是一種容器化平台,允許開發者將應用程序及其依賴項打包到輕量級、可移植的容器中。 2)它基於Linux容器技術和聯合文件系統,確保快速啟動和高效運行。 3)Docker支持多階段構建,優化鏡像大小和部署速度。 4)使用Docker可以簡化開發和部署流程,提高效率並確保跨環境的一致性。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

SublimeText3漢化版
中文版,非常好用

Dreamweaver Mac版
視覺化網頁開發工具