Dockerコンテナにvimをインストールする方法
原因:
(学習ビデオ共有: プログラミングビデオ)
いくつかの構成ファイルを変更する必要がありますが、突然見つかりましたInstall 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権限を取得するにはホストhostにアクセスする必要がありました
[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
I 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]
Install 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 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









Docker画像を更新する手順は次のとおりです。最新の画像タグ新しい画像をプルする新しい画像は、特定のタグのために古い画像を削除します(オプション)コンテナを再起動します(必要に応じて)

Docker画像を作成する手順:ビルド命令を含むDockerFileを書きます。 Docker Buildコマンドを使用して、ターミナルで画像を作成します。画像にタグを付け、Dockerタグコマンドを使用して名前とタグを割り当てます。

Dockerデスクトップの使用方法は? Dockerデスクトップは、ローカルマシンでDockerコンテナを実行するためのツールです。使用する手順には次のものがあります。1。Dockerデスクトップをインストールします。 2。Dockerデスクトップを開始します。 3。Docker Imageを作成します(DockerFileを使用); 4. Docker画像をビルド(Docker Buildを使用); 5。Dockerコンテナを実行します(Docker Runを使用)。

Dockerに画像を保存するには、Docker Commitコマンドを使用して、指定されたコンテナの現在の状態、Syntax:Docker Commit [Options]コンテナID画像名を含む新しい画像を作成できます。画像をリポジトリに保存するには、Docker Pushコマンド、Syntax:Docker Push Image Name [:Tag]を使用できます。保存された画像をインポートするには、Docker Pullコマンド、Syntax:Docker Pull Image Name [:Tag]を使用できます。

Dockerコンテナを終了する4つの方法:コンテナ端子でCtrl Dを使用するコンテナターミナルに出口コマンドを入力しますDocker stop< container_name>コマンドを使用するDocker Kill< container_name>ホストターミナルのコマンド(フォース出口)

障害のあるDocker画像ビルドのトラブルシューティング手順:DockerFileの構文と依存関係バージョンを確認します。ビルドコンテキストに必要なソースコードと依存関係が含まれているかどうかを確認します。エラーの詳細については、ビルドログを表示します。 -targetオプションを使用して、階層フェーズを構築して障害点を識別します。 Dockerエンジンの最新バージョンを使用してください。 -t [image-name]:デバッグモードで画像を作成して、問題をデバッグします。ディスクスペースを確認し、十分であることを確認してください。 Selinuxを無効にして、ビルドプロセスへの干渉を防ぎます。コミュニティプラットフォームに助けを求め、DockerFilesを提供し、より具体的な提案のためにログの説明を作成します。

Dockerの外部ホストにファイルをコピーする方法:Docker CPコマンドを使用:Docker CP [Options]< Container Path> <ホストパス>。データボリュームの使用:ホストにディレクトリを作成し、-vパラメーターを使用してコンテナを作成するときにディレクトリをコンテナにマウントして、双方向ファイルの同期を実現します。

すべてのコンテナ(Docker PS)をリストする手順に従って、Dockerコンテナ名を照会できます。コンテナリストをフィルタリングします(GREPコマンドを使用)。コンテナ名(「名前」列にあります)を取得します。
