728x90
반응형

 

# Docker 허브 레포지토리 사이트 

 

https://hub.docker.com 

 

Docker Hub Container Image Library | App Containerization

Increase your reach and adoption on Docker Hub With a Docker Verified Publisher subscription, you'll increase trust, boost discoverability, get exclusive data insights, and much more.

hub.docker.com

 

# docker 개념설명

 

  • 도커 이미지로 컨테이너를 만든다 (이미지는 금형과 같다,,, 컨테이너를 찍어 내기 위해서는 도커 이미지가 필요함)
  • 이미지로 만든 컨테이너를 다시 이미지로 만들수 있다.(개조된 버젼, 이미지)
# Docker 설치 (ubuntu 22.04)
1. 우분투 시스템 패키지 업데이트
# sudo apt-get update

2. 필요한 패키지 설치
# sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common

3. Docker의 공식 GPG키를 추가
# curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

4. Docker의 공식 apt 저장소를 추가
# sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

5. 시스템 패키지 업데이트
# sudo apt-get update

6. Docker 설치
# sudo apt-get install docker-ce docker-ce-cli containerd.io

# sudo systemctl status docker


7. Docker-compose 설치

# curl -L https://github.com/docker/compose/releases/download/1.25.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
# chmod +x /usr/local/bin/docker-compose

 

# Docker 설치 (CentOS)
# docker repo

# yum install yum-utils -y 
# yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

# docker 설치 
# yum install docker-ce docker-ce-cli containerd.io-1.2.6-3.3.el7 -y
# systemctl enable --now docker



7. Docker-compose 설치

# curl -L https://github.com/docker/compose/releases/download/1.25.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
# chmod +x /usr/local/bin/docker-compose

 

# Docker 엔진 시작/종료
# 도커 엔진시작
# systemctl start docker

# 도커 엔진 종료
# systemctl stop docker

# 도커 자동 실행
# systemctl enable docker

 

# docker 이미지 검색  (docker search nginx)
# docker search nginx
NAME                               DESCRIPTION                                     STARS               OFFICIAL            AUTOMATED
nginx                              Official build of Nginx.                        19595               [OK]
bitnami/nginx                      Bitnami nginx Docker Image                      181                                     [OK]
nginxinc/nginx-unprivileged        Unprivileged NGINX Dockerfiles                  141
nginxproxy/nginx-proxy             Automated nginx proxy for Docker containers …   131
nginxproxy/acme-companion          Automated ACME SSL certificate generation fo…   130
ubuntu/nginx                       Nginx, a high-performance reverse proxy & we…   112
nginx/nginx-ingress                NGINX and  NGINX Plus Ingress Controllers fo…   88
nginx/unit                         This repository is retired, use the Docker o…   64
nginx/nginx-prometheus-exporter    NGINX Prometheus Exporter for NGINX and NGIN…   36
bitnami/nginx-ingress-controller   Bitnami Docker Image for NGINX Ingress Contr…   32                                      [OK]
unit                               Official build of NGINX Unit: Universal Web …   21                  [OK]

 

  • NAME : 검색된 이미지 이름
  • DESCRIPTION : 이미지에 대한 설명
  • STARS : 해당 이미지를 내려받은 갯수
  • OFFICAL : [OK] 표시는 해당 이미지에 포함된 개발한 업체에서 공식적으로 제공하는 이미지 
  • AUTOMATED : [OK] 표시는 도커 허브에서 자체적으로 제공하는 이미지 빌드 자동화 기능을 활용해 생성한 이미지
# docker 설치 (docker pull nginx)
# docker pull nginx
Using default tag: latest
latest: Pulling from library/nginx
c57ee5000d61: Pull complete
9b0163235c08: Pull complete
f24a6f652778: Pull complete
9f3589a5fc50: Pull complete
f0bd99a47d4a: Pull complete
398157bc5c51: Pull complete
1ef1c1a36ec2: Pull complete
Digest: sha256:84c52dfd55c467e12ef85cad6a252c0990564f03c4850799bf41dd738738691f
Status: Downloaded newer image for nginx:latest

  

# 기본적인 사용법
# wordpress 컨테이너와 mysql 컨테이너를 다운로드 하여 2개를 연결한다.

# docker 2개 컨테이간 네트워크 연결 생성

# docker network create wordpress000net1


# 컨테이터 2개 다운로드 

# docker run --name wordpress000ex12 -dit --net=wordpress000net1 -p 8085:80 -e WORDPRESS_DB_HOST=mysql000ex11 -e WORDPRESS_DB_NAME=wordpress000db -e WORDPRESS_DB_USER=wordpress000kun -e WORDPRESS_DB_PASSWORD=wkunpass wordpress
# docker run --name mysql000ex11 -dit --net=wordpress000net1 -e MYSQL_ROOT_PASSWORD=myrootpass -e MYSQL_DATABASE=wordpress000db -e MYSQL_USER=wordpress000kun -e MYSQL_PASSWORD=wkunpass mysql --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --default-authentication-plugin=mysql_native_password

# docker ps
CONTAINER ID   IMAGE       COMMAND                  CREATED          STATUS          PORTS                                   NAMES
0cf1e7f5cf51   wordpress   "docker-entrypoint.s…"   58 seconds ago   Up 49 seconds   0.0.0.0:8085->80/tcp, :::8085->80/tcp   wordpress000ex12
ad739fca0f25   mysql       "docker-entrypoint.s…"   6 minutes ago    Up 6 minutes    3306/tcp, 33060/tcp                     mysql000ex11

# pc에서 192.168.56.130:8085 접속하면 열림

# dockr 중단

# docker stop wordpress000ex12
# docker stop mysql000ex11

# docker 삭제
# docker rm wordpress000ex12
# docker rm mysql000ex11

# docker network 삭제
# docker network ls
NETWORK ID     NAME               DRIVER    SCOPE
280c498270b5   bridge             bridge    local
895ffb8cd3c4   host               host      local
4533e20c8f87   none               null      local
35468fd66207   wordpress000net1   bridge    local

#docker network rm wordpress000net1

# docker 이미지 삭제

# docker image ls
REPOSITORY   TAG       IMAGE ID       CREATED       SIZE
wordpress    latest    2fc2a7b04129   2 weeks ago   739MB
mysql        latest    a88c3e85e887   4 weeks ago   632MB
httpd        latest    2776f4da9d55   4 weeks ago   167MB

# docker image rm wordpress
# docker image rm httpd

 

# 다운로드된 docker 이미지 확인 (docker images nginx)

 

# docker images nginx
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
nginx               latest              b690f5f0a2d5        3 months ago        187MB
nginx               stable              3a8963c304a2        10 months ago       142MB

 

# docker-compose 설치
# dnf install python3 python3-pip
# pip3 install docker-compose

 

# docker-compose 설치, 종료, 삭제 명령어
# 설치 (-f : 파일명, -d : 백그라운드)
# docker-compose -f docker-compose.yml up -d

# 중단
# docker-compose -f docker-compose.yml stop

# 삭제
# docker-compose -f docker-compose.yml rm

 

# Docker file 압축 및 풀기
# docker 파일 압축하기
# docker save -o image.tar image_name

# 압축된 docker 파일 풀기
# docker load -i image.tar

 

# 실행된 도커 컨테이너 진입하기
# docker exec -it (컨테이너 id) /bin/bash

 

 

# docker 한꺼번에 중단 및 삭제
# docker 한꺼번에 중단
# docker ps -qa

# docker 한꺼번에 삭제
# docker rm -f $(docker ps -qa)
728x90
반응형
LIST

+ Recent posts