도커에 대한 몇 가지 이야기

오랫동안 일하면서 접했던 __操作系统,如果是__사용자__用户或者__의 일부 내용이 적용되지 않습니다

설치 부분은 칭화대학교의 매뉴얼을 참고하세요: https://mirrors.tuna.tsinghua.edu.cn/help/docker-ce/

설치

알 수 없는 불가사의한 힘으로 인해, 국내 설치 시에는 클라우드 공급업체가 제공하는 저장소 주소를 사용하는 것이 좋습니다. 여기서는 阿里云를 추천합니다.

저장소 소스 주소 설정

yum install yum-utils device-mapper-persistent-data lvm2 && \
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

최신 버전 배포

도커는 일반적으로 사용되는 백그라운드 서비스이므로, 부팅 시 자동 시작으로 설정하는 것을 권장하며, 현재 명령어는 CentOS 7에 적용 가능합니다

sudo yum install -y docker-ce docker-ce-cli containerd.io && systemctl enable --now docker

지정 버전 배포

kubernetes和__INLINE_CODE_1__的发布并没与完全同步,如果接下来需要部署kubernetes,请参考kubernetes部署说明,安装指定版本的docker

yum list docker-ce --showduplicates | sort -r
sudo yum install -y docker-ce-18.09.2-3.el7 docker-ce-cli-18.09.2-3.el7 containerd.io-18.09.2-3.el7 && systemctl enable --now docker

일반 사용자에 Docker 권한 추가

sudo usermod -aG docker ${USER}

제거

sudo yum erase -y docker-ce docker-ce-cli containerd.io

일상 사용

미러 가속

여전히 예측할 수 없는 미지의 힘으로 인해 이미지 다운로드 속도가 느리지만, 국내 클라우드 제공업체들이 다양한 가속 서비스를 제공하고 있으므로 阿里云을 추천합니다

가속된 주소는 직접 알리바바 클라우드 계정을 등록하여 확인하시기 바랍니다. 이 서비스는 무료이며, 알리바바 클라우드는 무료 이미지 빌드 서비스도 제공합니다.

cat > /etc/docker/daemon.json <<EOF
{
  "registry-mirrors": [
    "https://docker.nju.edu.cn",
    "https://mirror.baidubce.com",
    "https://docker.m.daocloud.io",
    "https://docker.mirrors.sjtug.sjtu.edu.cn"
  ]
}
EOF
systemctl daemon-reload && \
systemctl restart docker

강력 추천 제어판

docker volume create portainer_data && \
docker run -d --name=portainer --restart=always -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:2.20.3-alpine

자주 사용하는 이미지 모음

docker pull rancher/rancher:stable && docker pull  portainer/portainer-ce:2.0.1 && \
docker pull centos:7 && docker pull ubuntu:20.04 && docker pull ubuntu:18.04 && \
docker pull redis:5 && docker pull redis:6 && \
docker pull alpine:3.11 && docker pull busybox:1.32 && \
docker pull rabbitmq:3.7-management && \
docker pull mariadb:10.2 && \
docker pull nginx:1.18 && docker pull nginx:1.19 && \
docker pull mysql:5.6 && docker pull mysql:8 && \
docker pull elasticsearch:6.8.11 && docker pull logstash:6.8.11 && docker pull kibana:6.8.11 && \
docker pull zookeeper:3.4 && \
docker pull influxdb:1.7 && docker pull grafana/grafana:7.3.1 && \
docker pull percona:8 && docker pull percona:5.6 && \
docker pull cloverzrg/frps-docker:0.34.3 && docker pull cloverzrg/frpc-docker:0.34.3

자주 사용되는 명령어 조합

https://docs.docker.com/engine/reference/commandline/docker/


컨테이너 실행 상태를 확인하고 INLINE_CODE_0 매개변수를 추가하여 자세한 컨테이너 정보를 확인합니다. 이때는 이미지 정보는 무시합니다.

docker ps --format "{{.Names}}: {{.Ports}}: {{.Size}}"
#portainer: 0.0.0.0:8000->8000/tcp, 0.0.0.0:9000->9000/tcp: 0B (virtual 172MB)
#influxdb: 0.0.0.0:8086->8086/tcp: 183B (virtual 311MB)

모든 컨테이너 중지

docker stop $(docker ps -a -q)

모든 이미지를 한 번에 삭제합니다

dokcer rmi $(docker images -a -q)

이미지 내보내기

docker save <IMAGE NAME>:<IMAGE TAG> > -o XXX.tar

이미지 내보내기 및 압축

docker save <IMAGE NAME>:<IMAGE TAG> | gzip > XXX.tar

이미지 가져오기

docker load -i XXX.tar
Licensed under CC BY-NC-SA 4.0
마지막 수정: 2025년 05월 28일 09:47
금융 IT 프로그래머의 이것저것 만지작거리기와 일상의 중얼거림
Hugo로 만듦
JimmyStack 테마 사용 중