도커 컨테이너에 vim을 설치하는 방법
원인:
(동영상 공유 학습: 프로그래밍 동영상)
일부 구성 파일을 변경해야 하는데 갑자기 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@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
루트로 설치가 안되는 걸 발견했습니다 이유는 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]
Visit 설치
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 튜토리얼
위 내용은 도커 컨테이너에 vim을 설치하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Docker 이미지를 업데이트하는 단계는 다음과 같습니다. 최신 이미지 태그 가져 오기 새 이미지 특정 태그의 이전 이미지 삭제 (선택 사항) 컨테이너를 다시 시작하십시오 (필요한 경우)

Docker 이미지 생성 단계 : 빌드 지침이 포함 된 Dockerfile을 작성하십시오. Docker 빌드 명령을 사용하여 터미널에 이미지를 빌드하십시오. Docker 태그 명령을 사용하여 이미지를 태그하고 이름과 태그를 지정하십시오.

Docker Desktop을 사용하는 방법? Docker Desktop은 로컬 머신에서 Docker 컨테이너를 실행하는 도구입니다. 사용 단계는 다음과 같습니다. 1. Docker Desktop 설치; 2. Docker Desktop을 시작하십시오. 3. Docker 이미지를 만듭니다 (Dockerfile 사용); 4. Docker Image 빌드 (Docker 빌드 사용); 5. 도커 컨테이너를 실행하십시오 (Docker Run 사용).

Docker에 이미지를 저장하려면 Docker Commit 명령을 사용하여 지정된 컨테이너의 현재 상태가 포함 된 새 이미지를 만들 수 있습니다. 구문 : Docker Commit [옵션] 컨테이너 ID 이미지 이름. 이미지를 저장소에 저장하려면 Docker Push 명령 인 Syntax : Docker 푸시 이미지 이름 [: tag]을 사용할 수 있습니다. 저장된 이미지를 가져 오려면 Docker Pull 명령 인 Syntax : Docker Pull Image Name [: Tag]을 사용할 수 있습니다.

도커 컨테이너를 종료하는 4 가지 명령 사용 Docker Kill & lt; Container_name & gt; 호스트 터미널의 명령 (힘 출구)

실패한 Docker 이미지 빌드에 대한 문제 해결 단계 : Dockerfile 구문 및 종속성 버전을 확인하십시오. 빌드 컨텍스트에 필요한 소스 코드 및 종속성이 포함되어 있는지 확인하십시오. 오류 세부 사항에 대한 빌드 로그를보십시오. -표적 옵션을 사용하여 계층 적 단계를 구축하여 실패 지점을 식별하십시오. 최신 버전의 Docker Engine을 사용하십시오. -t [image-name] : 디버그 모드로 이미지를 빌드하여 문제를 디버깅하십시오. 디스크 공간을 확인하고 충분한 지 확인하십시오. 빌드 프로세스에 대한 간섭을 방지하기 위해 Selinux를 비활성화하십시오. 커뮤니티 플랫폼에 도움을 요청하고 Dockerfiles를 제공하며보다 구체적인 제안을 위해 로그 설명을 구축하십시오.

Docker의 외부 호스트에 파일을 복사하는 방법 : Docker CP 명령 사용 : Docker CP 실행 [옵션] & lt; 컨테이너 경로 & gt; & lt; 호스트 경로 & gt;. 데이터 볼륨 사용 : 호스트에서 디렉토리를 만들고 -V 매개 변수를 사용하여 양방향 파일 동기화를 달성하기 위해 컨테이너를 만들 때 컨테이너에 디렉토리를 장착하십시오.

단계를 따르면 Docker 컨테이너 이름을 쿼리 할 수 있습니다. 모든 컨테이너 (Docker PS)를 나열하십시오. 컨테이너 목록을 필터링합니다 (GREP 명령 사용). 컨테이너 이름 ( "이름"열에 위치)을 가져옵니다.
