728x90
반응형
# Docker 허브 레포지토리 사이트
# 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
'docker' 카테고리의 다른 글
Docker Desktop에 Grafana 연결 및 설치 (0) | 2024.06.07 |
---|---|
Docker exec 정보확인 Docker Container 접속시 /bin/bash 에러 (0) | 2024.03.02 |