도커를 설치했고 그 안에 컨테이너가 있습니다.
$ docker version
Client:
Version: 18.06.1-ce
API version: 1.38
Go version: go1.10.3
Git commit: e68fc7a
Built: Sun, 16 Sep 2018 13:21:33 +1000
OS/Arch: linux/amd64
Experimental: false
Server:
Engine:
Version: 18.06.1-ce
API version: 1.38 (minimum version 1.12)
Go version: go1.10.3
Git commit: e68fc7a
Built: Sun Sep 16 03:21:33 2018
OS/Arch: linux/amd64
Experimental: false
$ docker info
Containers: 1
Running: 0
Paused: 0
Stopped: 1
Images: 2
Server Version: 18.06.1-ce
Storage Driver: overlay2
Backing Filesystem: extfs
Supports d_type: true
Native Overlay Diff: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
Volume: local
Network: bridge host macvlan null overlay
Log: awslogs fluentd gcplogs gelf journald json-file logentries splunk syslog
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version:
runc version: N/A
init version: v0.18.0
Security Options:
apparmor
seccomp
Profile: default
Kernel Version: 4.18.0-3-amd64
Operating System: Debian GNU/Linux buster/sid
OSType: linux
Architecture: x86_64
CPUs: 4
Total Memory: 7.659GiB
Name: debian
ID:
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
Labels:
Experimental: false
Insecure Registries:
127.0.0.0/8
Live Restore Enabled: false
WARNING: No swap limit support
컨테이너를 업데이트하는 방법을 잊어버렸습니다.
편집: 이미지를 업데이트한다는 의미입니다.
답변1
컨테이너 이미지 업데이트
컨테이너의 이미지/소프트웨어를 업데이트해야 하는 경우 Docker 컨테이너가 애플리케이션 데이터를 저장하지 않는 한 이는 매우 간단합니다. 예를 들어 프로덕션 데이터베이스는 Docker 컨테이너나 웹 사이트 콘텐츠에 저장되지 않습니다. 이 작업을 수행하기 전에 컨테이너를 올바르게 구축했는지 확인해야 합니다.
나는 이미 언급했다이 블로그 게시물이스택 교환. 시도하기 전에 다음 단계를 검토하십시오.
먼저 컨테이너의 애플리케이션이 무엇인지 알아야 합니다. 예를 들어 nginx
, 등 mysql
. apache2
그런 다음 다음 명령을 실행하십시오.
docker pull [application]
이렇게 하면 최신 버전의 애플리케이션이 가져옵니다. 링크된 블로그 게시물에서는 nginx
다음을 수행하여 사용 가능한 Docker 이미지를 찾을 수 있도록 특정 버전을 원합니다 .
docker images | grep nginx docker pull nginx:alpine
해당하는 경우 변경할 수 있도록 nginx
소프트웨어를 원하는 nginx 버전으로 교체하세요 .alpine
업데이트된 소프트웨어 이미지를 가져온 후 다음 명령을 실행하여 컨테이너를 업데이트할 수 있습니다.
docker stop [CONTAINER]
docker rm [SAME CONTAINER AS BEFORE]
docker run --name [NEW CONTAINER NAME] \
[OPTIONS] \
[CONFIGURATIONS] \
[ADDITIONAL SETTINGS] \
-d [SOFTWARE, e.g. nginx or mysql]
이제 새 소프트웨어로 새 컨테이너를 설정하고 원하는 옵션으로 실행해야 합니다. 이러한 명령을 시도하기 전에 제가 제공하는 모든 링크를 읽어보시기 바랍니다. 마찬가지로 프로덕션 데이터를 컨테이너 내에 보관하는 경우 이러한 단계를 수행할 수 없습니다. 데이터를 백업하고 컨테이너가 탑재하고 액세스할 수 있는 볼륨 생성을 고려해야 합니다.
나는 또한관련 Docker 문서에 대한 링크이번 임무에 대해.
이 답변에 대해 질문이나 문의사항이 있으면 댓글을 남겨주세요. 오해를 바로잡고 게시물을 개선할 수 있도록 피드백을 보내주셔서 감사합니다. 필요한 경우 답변을 업데이트할 수 있습니다.
행운을 빌어요!