Ubuntu에 docker 설치(+mariadb)

plaintext
Distributor ID: Ubuntu
Description:    Ubuntu 22.04.1 LTS
Release:        22.04
Codename:       jammy

이전 버전 제거

powershell
 sudo apt-get remove docker docker-engine docker.io containerd runc

설치 전 업데이트

powershell
 sudo apt-get update

HTTPS를 통해 리포지토리를 사용할 수 있도록 패키지 인덱스를 업데이트하고 apt 패키지를 설치합니다.

powershell
sudo apt-get install \
    ca-certificates \
    curl \
    gnupg \
    lsb-release

Docker의 공식 GPG 키를 추가합니다.

powershell
 sudo mkdir -p /etc/apt/keyrings

 curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

다음 명령을 사용하여 리포지토리를 설정합니다.

powershell
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

apt패키지 색인 을 업데이트합니다 .

powershell
 sudo apt-get update

Docker Engine, containerd 및 Docker Compose를 설치합니다.

최신 버전을 설치하려면 다음을 실행합니다.

powershell
 sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin

특정 버전 설치

설치가 완료되면 테스트로 Hello World를 출력해보자

powershell
sudo docker run hello-world

sudo docker version

Docker - Mariadb 이미지 다운로드 받기

https://7942yongdae.tistory.com/130 <- 참고 사이트

powershell
docker pull mariadb

Mariadb를 설치

Docker - Mariadb 컨테이너를 만들고 실행하기

입력하는 명령문의 내용을 간략하게 설명 --name: 만들어서 사용할 컨테이너의 이름을 정의 -d: 컨테이너를 백그라운드에서 실행 -p: 호스트와 컨테이너 간의 포트를 연결 (host-port:container-port) // 호스트에서 3306 포트 연결 시 컨테이너 3306 포트로 포워딩 --restart=always: 도커가 실행되는 경우 항상 컨테이너를 실행 -e: 기타 환경설정(Enviorment) MYSQL_ROOT_PASSWORD=root // mariadb의 root 사용자 초기 비밀번호를 설정 mariadb: 컨테이너를 만들 때 사용할 이미지 이름

powershell
docker run \
    --name mariadb \
    -d \
    -p 3306:3306 \
    --restart=always \
    -e MYSQL_ROOT_PASSWORD=root \
    mariadb

or

docker run --name mariadb -d -p 3306:3306 --restart=always -e MYSQL_ROOT_PASSWORD=root mariadb
plaintext
docker ps -a  // 전체 컨테이너 상태 확인

Mariadb에 database를 추가하고 user를 설정

  • Docker - Mariadb 컨테이너 접속하기
powershell
docker exec -it mariadb /bin/bash

// mariadb 는 컨테이너 이름



mysql -u root -p  

// Mariadb - 루트 계정으로 데이터베이스 접속하기
powershell
// Mariadb - 데이터 베이스 만들기

create database [db_name];

ex) create database test;
ㅡㅛㄴ


// Mariadb - 사용자 추가하기

create user 'user_name'@'XXX.XXX.XXX.XXX' identified by 'user_password';

ex) create user 'tester'@'%' identified by 'tester1234';


// Mariadb - 사용자 권한 부여하기

grant all privileges on db_name.* to 'user_name'@'XXX.XXX.XXX.XXX';
flush privileges;

ex)
grant all privileges on test.* to 'tester'@'%';
flush privileges;