도커 컨테이너를 업데이트하는 방법은 무엇입니까?

도커 컨테이너를 업데이트하는 방법은 무엇입니까?

도커를 설치했고 그 안에 컨테이너가 있습니다.

$ 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 문서에 대한 링크이번 임무에 대해.

이 답변에 대해 질문이나 문의사항이 있으면 댓글을 남겨주세요. 오해를 바로잡고 게시물을 개선할 수 있도록 피드백을 보내주셔서 감사합니다. 필요한 경우 답변을 업데이트할 수 있습니다.

행운을 빌어요!

관련 정보