Linux&Ubuntu/Docker&kuber
docker-compose 로 apm 기본 설치
Vittorio_Lee
2023. 9. 14. 16:06
728x90
반응형
SMALL
본글은 ubuntu 22.04 버전에서 설치 했습니다.
Docker 설치
# apt -y update # apt -y upgrade # apt -y install apt-transport-https ca-certificates curl gnupg lsb-release |
2. Docker 공식 GPG 설치
# curl -fsSL https://download.docker.com/linux/ubuntu/gpg |gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg |
3. Docker 공식 저장소 추가
# echo \ "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) stable" |tee /etc/apt/sources.list.d/docker.list > /dev/null |
4. Docker 설치 및 확인
# apt -y update # apt -y install docker-ce docker-ce-cli containerd.io # docker --version |
5. Compose 설치 및 확인
# apt -y install docker-compose-plugin # docker compose version # docker-compose --version |
APM 설치
1. 설치 및 확인
특정 버전을 명시하지 않으면 최신 버전의 이미지가 다운로드 됩니다.
사용 예) docker pull {이미지}:{버전} # docker pull httpd:2.4.54 # docker pull php:8.2.0-fpm # docker pull mysql:8.0.31 # docker images REPOSITORY TAG IMAGE ID CREATED SIZE httpd 2.4.54 463980270363 8 months ago 145MB php 8.2.0-fpm 8ee3a55f199a 8 months ago 450MB mysql 8.0.31 7484689f290f 9 months ago 538MB |
# docker search mysql // 다운로드 가능한 이미지 출력 # docker pull mysql // mysql:8.0.31 와 같이 특정 버전을 지정하지 않으면 최신 버전이 설치됩니다. (mysql 또는 mysql:latest) 아래 URL 에서 제공하는 버전을 확인 할 수 있습니다. https://hub.docker.com/_/mysql https://hub.docker.com/_/php https://hub.docker.com/_/httpd |
2. 실행
APM 환경 파일을 컨테이너와 연결하여 생성합니다.
# vi docker-compose.yml version: '3.9' services: httpd: image: httpd:2.4.54 container_name: httpd restart: unless-stopped # 서버 부팅시 컨테이너 가동 ports: - "80:80" volumes: - /home/vittorio/httpd/html/:/usr/local/apache2/htdocs mysql: image: mysql:8.0.31 container_name: mysql restart: unless-stopped tty: true ports: - "3306:3306" environment: MYSQL_HOST: localhost MYSQL_ROOT_PASSWORD: 12345678 # 초기 mysql root 비밀번호 SERVICE_TAGS: dev SERVICE_NAME: mysql TZ: Asia/Seoul php: image: php:8.2.0-fpm container_name: php restart: unless-stopped ports: - "9000:9000" volumes: - /home/vittorio/httpd/html/:/var/www/html/ # php 소스 코드를 사용하기 위해 필수 설정 command: - /bin/sh - -c - | echo "security.limit_extensions = .html .htm .php" >> /usr/local/etc/php-fpm.d/www.conf # 특정 확장>자만 php 소스 코드 사용 php-fpm |
파일 맨 위에 compose version 은 docker 버전에 맞추어 사용해야 합니다. 아래 URL 에서 확인이 가능합니다.
https://docs.docker.com/compose/compose-file/compose-versioning/#compatibility-matrix
실행
# docker compose up -d << 시작 root@96c8e4395d04:/usr/local/apache2# cd htdocs root@96c8e4395d04:/usr/local/apache2/htdocs# cat index.html test |
현재 컨테이너 구동 상태입니다.
# docker compose ps NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS httpd h mysql mysql:8.0.31 "docker-entrypoint.s…" mysql 4 months ago Up About an hour 0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp php php:8.2.0-fpm "docker-php-entrypoi…" php 4 months ago Up 30 minutes 0.0.0.0:9000->9000/tcp, :::9000->9000/tcp |
- Docker 삭제 명령어 -
1. Docker 관련 패키지를 제거 # apt purge docker-ce docker-ce-cli containerd.io 2. 호스트의 이미지, 컨테이너, 볼륨 또는 사용자 지정 구성파일 제거 (모든 이미지, 컨테이너 및 볼륨 수동 삭제) # rm -rf /var/lib/docker # rm -rf /var/lib/containerd # docker compose down // 컨테이너 중지 및 삭제 기타 # docker compose images // 올려진 서비스 (컨테이너) 가 사용중인 이미지 리스트 출력. (모든 이미지 출력 : docker images) # docker compose ps // 올려진 서비스 (컨테이너) 출력 # docker compose stop php // 올려진 서비스 (컨테이너) 선택 중지 # docker compose start php // 올려진 서비스 (컨테이너) 선택 시작 # docker rm -v php // 올려진 서비스 (컨테이너) 삭제 # docker compose up -d php // 하나의 서비스 (컨테이너) 만 구동 |
728x90
반응형
LIST