◼︎ 환경
- Model : MacBook Pro (14-inch, 2021)
- CPU : Apple M1 Pro
- MENORY : 16GB
- DISK : 512 GB SSD
- OS : macOS 13.2.1 (22D68)
- TOOLS : Visual Studio Code, Java 11, Gradle
- Version Control : GitHub
- Programming Language : Java , Vue3
- DBMS : MySql
Docker(도커) Dasktop 설치하기
도커는 애플리케이션을 빌드, 실행 및 배포하는 데 사용되는 오픈 소스 플랫폼이다. 도커는 애플리케이션을 컨테이너로 패키징하여 어디서나 실행할 수 있도록 한다. 컨테이너는 가볍고 이식 가능하므로 개발, 테스트 및 프로덕션 환경에 이상적이다.
도커는 다음과 같은 여러 가지 이점을 제공한다.
- 개발 및 테스트 속도 향상: 도커를 사용하면 개발자가 애플리케이션을 빠르고 쉽게 빌드하고 테스트할 수 있다. 이는 개발 프로세스를 가속화하고 버그를 더 빨리 식별하는 데 도움이 될 수 있다.
- 배포 용이성: 도커를 사용하면 개발자가 애플리케이션을 어디서나 쉽게 배포할 수 있다. 이는 애플리케이션의 배포 프로세스를 단순화하고 애플리케이션의 가용성을 높이는 데 도움이 될 수 있다.
- 비용 절감: 도커를 사용하면 서버 및 인프라 비용을 절감할 수 있다. 이는 도커가 서버를 사용하지 않고도 애플리케이션을 실행할 수 있도록 하기 때문이다.
도커는 개발자, 시스템 관리자 및 컨설턴트에게 인기 있는 도구이며 기업에서도 애플리케이션의 개발, 배포 및 관리를 위해 도커를 사용하고 있다.
M1 맥 환경에서 도커를 아래와 같이 설치할 수 있다.
Docker Desktop은 Intel Mac 용으로 빌드되었다. M1 Mac에서 에서 Intel Mac 용으로 빌드된 앱을 실행하려면 Rosetta 2를 설치해야 한다. Rosetta 2는 리눅스 Wine (윈도우 프로그램을 리눅스에서 실행하게 하는 가상머신) 과 유사하게 Intel 코드를 Apple Silicon 으로 번역하는 가상 머신이다.
softwareupdate --install-rosetta
MySql 배포하기
가장 최신 MySql Docker 이미지를 다운로드 한다.
docker pull mysql
docker pull mysql:8.0.33
% docker search mysql
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
mysql MySQL is a widely used, open-source relation… 14116 [OK]
mariadb MariaDB Server is a high performing open sou… 5392 [OK]
percona Percona Server is a fork of the MySQL relati… 607 [OK]
phpmyadmin phpMyAdmin - A web interface for MySQL and M… 793 [OK]
circleci/mysql MySQL is a widely used, open-source relation… 29
bitnami/mysql Bitnami MySQL Docker Image 85 [OK]
bitnami/mysqld-exporter 5
ubuntu/mysql MySQL open source fast, stable, multi-thread… 46
cimg/mysql 0
rapidfort/mysql RapidFort optimized, hardened image for MySQL 14
google/mysql MySQL server for Google Compute Engine 23 [OK]
rapidfort/mysql8-ib RapidFort optimized, hardened image for MySQ… 0
hashicorp/mysql-portworx-demo 0
rapidfort/mysql-official RapidFort optimized, hardened image for MySQ… 0
newrelic/mysql-plugin New Relic Plugin for monitoring MySQL databa… 1 [OK]
databack/mysql-backup Back up mysql databases to... anywhere! 84
linuxserver/mysql A Mysql container, brought to you by LinuxSe… 38
bitnamicharts/mysql 0
mirantis/mysql 0
docksal/mysql MySQL service images for Docksal - https://d… 0
linuxserver/mysql-workbench 49
vitess/mysqlctld vitess/mysqlctld 1 [OK]
eclipse/mysql Mysql 5.7, curl, rsync 0 [OK]
drupalci/mysql-5.5 https://www.drupal.org/project/drupalci 1 [OK]
drupalci/mysql-5.7 https://www.drupal.org/project/drupalci 0
% docker images
mysql latest 5371f8c3b63e 3 weeks ago 592MB
% docker exec -it mysql-container bash
bash-4.4# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 10
Server version: 8.0.33 MySQL Community Server - GPL
Copyright (c) 2000, 2023, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
-- testdb 생성
CREATE
DATABASE
testdb
CHARACTER
SET
utf8mb4
COLLATE
utf8mb4_unicode_ci;
-- test 계성 생성
CREATE
USER
'tester'
@
'%'
IDENTIFIED
BY
'tester'
;
-- testdb에 대한 권한을 tester 에게 부여한다.
GRANT
ALL
PRIVILEGES
ON
testdb.*
TO
'tester'
@
'%'
WITH
GRANT
OPTION
;
SprinbBoot 이미지 생성 및 배포하기
./gradlew bootBuildImage
docker run -p 8080:8080 [이미지 이름]
VS Code 에서 도커 사용하기
Docker 확장을 사용하면 Visual Studio Code에서 컨테이너화된 애플리케이션을 쉽게 빌드, 관리 및 배포할 수 있습니다. 이때 도커 서비스는 실행중이여야 한다.docker
이름을 검색하여 설치하면 된다. 참고자료
- https://spring.io/guides/topicals/spring-boot-docker/
- https://docs.spring.io/spring-boot/docs/current/reference/html/native-image.html#_enable_native_image_support
- Docker in Visual Studio Code
댓글 없음:
댓글 쓰기