https://hub.docker.com/_/mysql
https://github.com/docker-library/mysql/blob/1bfa4724fe112b4246672ed2b3c42142f17d5636/README.md

1) 첨부파일 내 8.0 폴더 기준, 폴더 내 my.cnf 파일 생성 및 Dockerfile 수정
Dockerfile.oracle -> Dockerfile
line 43: vim \                                                             // 설치할 패키지 추가
line 119: COPY my.cnf /etc/mysql/conf.d/      // 사전 파일생성 my.cnf

2)
docker build -t mysql8_irisrose:1.0 .

3)
원형)

docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=password --name jmlim-mysql -v /Users/jmlim/datadir:/var/lib/mysql mysql:8.0.17



수정)
>>맥북

mkdir -p $HOME/dev/docker/vol/mysql8_irisrose
docker run -d -p 1010:3306 -e MYSQL_ROOT_PASSWORD=password --name mysql8_irisrose -v $HOME/dev/docker/vol/mysql8_irisrose:/var/lib/mysql mysql8_irisrose:1.0



>>우분투

mkdir -p /data/dev/docker/vol/mysql8_irisrose
docker run -d -p 1010:3306 -e MYSQL_ROOT_PASSWORD=password --name mysql8_irisrose -v /data/dev/docker/vol/mysql8_irisrose:/var/lib/mysql mysql8_irisrose:1.0



4) utf8mb4 (생략, 이미 Dockerfile 에서 처리함, 위의 1 과정)
docker exec -it mysql8_irisrose /bin/bash

microdnf install -y vim

cd /etc/mysql/conf.d
vim my.cnf
------------------------------------------
# for utf8mb4 characterset
[client]
default-character-set = utf8mb4

[mysqld]
default-time-zone=Asia/Seoul
init_connect = SET collation_connection = utf8mb4_general_ci
init_connect = SET NAMES utf8mb4
character-set-server = utf8mb4
collation-server = utf8mb4_general_ci

[mysqldump]
default-character-set = utf8mb4

[mysql]
default-character-set = utf8mb4
------------------------------------------

5) 계정 추가
database: db_database
account: db_user / db_password

mysql -u root -p

create database db_database;

create user db_user@'%' identified by 'db_password';
create user db_user@'localhost' identified by 'db_password';

grant all privileges on db_database.* to db_user@'%';
grant all privileges on db_database.* to db_user@'localhost';

flush privileges;

quit;


* docker-compose 로 작성을 고려

docker-library_mysql.zip
0.04MB

 
 
 
 
 

'[docker]' 카테고리의 다른 글

도커 환경 구성 - mariadb106 (root / password)  (0) 2023.06.27
도커 환경 구성 - gitlab-ee  (0) 2023.06.27
도커 환경 구성 - gitlab-ce  (0) 2023.06.27

https://hub.docker.com/_/mariadb
https://github.com/MariaDB/mariadb-docker/tree/b1f92f6f41036992f932f339ba6074ab43809368

1) 첨부파일 내 10.6 폴더 기준, 폴더 내 my.cnf 파일 생성 및 Dockerfile 수정
Dockerfile
line 33: vim \                                                            // 설치할 패키지 추가
line 140: COPY my.cnf /etc/mysql/conf.d/      // 사전 파일생성 my.cnf

2)
docker build -t mariadb106_irisrose:1.0 .

3)
원형) (참고: mysql)

docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=password --name jmlim-mysql -v /Users/jmlim/datadir:/var/lib/mysql mysql:8.0.17



수정)
>>맥북

mkdir -p  $HOME/dev/docker/vol/mariadb106_irisrose
docker run -d -p 1020:3306 -e MARIADB_ROOT_PASSWORD=password --name mariadb106_irisrose -v $HOME/dev/docker/vol/mariadb106_irisrose:/var/lib/mysql mariadb106_irisrose:1.0



>>우분투

mkdir -p /data/dev/docker/vol/mariadb106_irisrose
docker run -d -p 1020:3306 -e MARIADB_ROOT_PASSWORD=password --name mariadb106_irisrose -v /data/dev/docker/vol/mariadb106_irisrose:/var/lib/mysql mariadb106_irisrose:1.0



4) utf8mb4 (생략, 이미 Dockerfile 에서 처리함, 위의 1 과정)
docker exec -it mariadb106_irisrose /bin/bash

apt-get install -y vim

cd /etc/mysql/conf.d
vim my.cnf
------------------------------------------
# for utf8mb4 characterset
[client]
default-character-set = utf8mb4

[mysqld]
default-time-zone=Asia/Seoul
init_connect = SET collation_connection = utf8mb4_general_ci
init_connect = SET NAMES utf8mb4
character-set-server = utf8mb4
collation-server = utf8mb4_general_ci

[mysqldump]
default-character-set = utf8mb4

[mysql]
default-character-set = utf8mb4
------------------------------------------

5) 계정 추가
database: db_database
account: db_user / db_password

mysql -u root -p

create database db_database;

create user db_user@'%' identified by 'db_password';
create user db_user@'localhost' identified by 'db_password';

grant all privileges on db_database.* to db_user@'%';
grant all privileges on db_database.* to db_user@'localhost';

flush privileges;

quit;


* docker-compose 로 작성을 고려

 

docker-mariadb.zip
0.18MB

 
 
 

'[docker]' 카테고리의 다른 글

도커 환경 구성 - mysql8 (root / password)  (0) 2023.06.27
도커 환경 구성 - gitlab-ee  (0) 2023.06.27
도커 환경 구성 - gitlab-ce  (0) 2023.06.27

Mac 에서는 정상적으로 동작하지 않음
But linux 에서는 정상적으로 동작 지원함
✔ Container gitlab_ee_irisrose
 ! gitlab The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested
----------------------------------------------------
https://gksdudrb922.tistory.com/214
https://velog.io/@hanif/Docker로-GitLab-설치-및-접속하기
https://junhokims.tistory.com/35
https://growupcoding.tistory.com/66
https://insight.infograb.net/docs/setup/install/install_with_docker_compose/
https://dncjf64.tistory.com/384
https://uxgjs.tistory.com/191
https://reakwon.tistory.com/178

----------------------------------------------------
>>원형, docker command 에 따른 생성을 전제로 함
----------------------------------------------------
경로 설정: $HOME/docker/gitlab_ee_irisrose
rm -rf $HOME/docker/gitlab_ee_irisrose
mkdir -p $HOME/docker/gitlab_ee_irisrose

docker run --detach \
  --hostname gitlab-ee.irisrose.com \
  --publish 1280:80 --publish 1222:22 --publish 1243:443 \
  --name gitlab_ee_irisrose \
  --restart always \
  --volume $HOME/docker/gitlab_ee_irisrose/config:/etc/gitlab \
  --volume $HOME/docker/gitlab_ee_irisrose/logs:/var/log/gitlab \
  --volume $HOME/docker/gitlab_ee_irisrose/data:/var/opt/gitlab \
  gitlab/gitlab-ee:latest


----------------------------------------------------
>>맥북, docker-compose.yml 파일을 생성해서 실행함, doc 와 vol 폴더 구분
----------------------------------------------------
$HOME/dev/docker/doc/docker-gitlab_ee/docker-compose.yml
$HOME/dev/docker/vol/gitlab_ee_irisrose
경로 설정: $HOME/dev/docker/vol/gitlab_ee_irisrose
rm -rf $HOME/dev/docker/vol/gitlab_ee_irisrose
mkdir -p $HOME/dev/docker/vol/gitlab_ee_irisrose

version: '3.6'
services:
  gitlab:
    image: 'gitlab/gitlab-ee:latest'
    container_name: gitlab_ee_irisrose
    restart: always
    hostname: 'gitlab-ee.irisrose.com'
    environment:
      GITLAB_OMNIBUS_CONFIG: |
        external_url 'http://gitlab-ee.irisrose.com'
        gitlab_rails['gitlab_shell_ssh_port'] = 1222
      GITLAB_TIMEZONE: Asia/Seoul
    ports:
      - "1280:80"
      - "1222:22"
      - "1243:443"

    volumes:
      - '$HOME/dev/docker/vol/gitlab_ee_irisrose/config:/etc/gitlab'
      - '$HOME/dev/docker/vol/gitlab_ee_irisrose/logs:/var/log/gitlab'
      - '$HOME/dev/docker/vol/gitlab_ee_irisrose/data:/var/opt/gitlab'


----------------------------------------------------
>>우분투, docker-compose.yml 파일을 생성해서 실행함, doc 와 vol 폴더 구분
----------------------------------------------------
/data/dev/docker/doc/docker-gitlab_ee/docker-compose.yml
/data/dev/docker/vol/gitlab_ee_irisrose
경로 설정: /data/dev/docker/vol/gitlab_ee_irisrose
rm -rf /data/dev/docker/vol/gitlab_ee_irisrose
mkdir -p /data/dev/docker/vol/gitlab_ee_irisrose

version: '3.6'
services:
  gitlab:
    image: 'gitlab/gitlab-ee:latest'
    container_name: gitlab_ee_irisrose
    restart: always
    hostname: 'gitlab-ee.irisrose.com'
    environment:
      GITLAB_OMNIBUS_CONFIG: |
        external_url 'http://gitlab-ee.irisrose.com'
        gitlab_rails['gitlab_shell_ssh_port'] = 1222
      GITLAB_TIMEZONE: Asia/Seoul
    ports:
      - "1280:80"
      - "1222:22"
      - "1243:443"

    volumes:
      - '/data/dev/docker/vol/gitlab_ee_irisrose/config:/etc/gitlab'
      - '/data/dev/docker/vol/gitlab_ee_irisrose/logs:/var/log/gitlab'
      - '/data/dev/docker/vol/gitlab_ee_irisrose/data:/var/opt/gitlab'


----------------------------------------------------

docker-compose.yml
docker-compose up -d

gitlab 초기 패스워드 확인
docker exec -it gitlab_ee_irisrose grep 'Password:' /etc/gitlab/initial_root_password
Password: fzyjDUEsQrzWDKTAPoAzMBE/F6u1GnPjxDNCBQehvY0=
                  1q2w3e4r5t!@

docker-compose logs -f

 
 

Mac, Linux 에서 정상적으로 동작 지원함
----------------------------------------------------
https://gksdudrb922.tistory.com/214
https://velog.io/@hanif/Docker로-GitLab-설치-및-접속하기
https://junhokims.tistory.com/35
https://growupcoding.tistory.com/66
https://insight.infograb.net/docs/setup/install/install_with_docker_compose/
https://dncjf64.tistory.com/384
https://uxgjs.tistory.com/191
https://reakwon.tistory.com/178

----------------------------------------------------
>>원형, docker command 에 따른 생성을 전제로 함
----------------------------------------------------
경로 설정: $HOME/docker/gitlab_ce_irisrose
rm -rf $HOME/docker/gitlab_ce_irisrose
mkdir -p $HOME/docker/gitlab_ce_irisrose

docker run --detach \
  --hostname gitlab-ce.irisrose.com \
  --publish 1180:80 --publish 1122:22 --publish 1143:443 \
  --name gitlab_ce_irisrose \
  --restart always \
  --volume $HOME/docker/gitlab_ce_irisrose/config:/etc/gitlab \
  --volume $HOME/docker/gitlab_ce_irisrose/logs:/var/log/gitlab \
  --volume $HOME/docker/gitlab_ce_irisrose/data:/var/opt/gitlab \
  gitlab/gitlab-ce:latest


----------------------------------------------------
>>맥북, docker-compose.yml 파일을 생성해서 실행함, doc 와 vol 폴더 구분
----------------------------------------------------
$HOME/dev/docker/doc/docker-gitlab_ce/docker-compose.yml
$HOME/dev/docker/vol/gitlab_ce_irisrose
경로 설정: $HOME/dev/docker/vol/gitlab_ce_irisrose
rm -rf $HOME/dev/docker/vol/gitlab_ce_irisrose
mkdir -p $HOME/dev/docker/vol/gitlab_ce_irisrose

version: '3.6'
services:
  gitlab:
    image: 'gitlab/gitlab-ce:latest'
    container_name: gitlab_ce_irisrose
    restart: always
    hostname: 'gitlab-ce.irisrose.com'
    environment:
      GITLAB_OMNIBUS_CONFIG: |
        external_url 'http://gitlab-ce.irisrose.com'
        gitlab_rails['gitlab_shell_ssh_port'] = 1122
      GITLAB_TIMEZONE: Asia/Seoul
    ports:
      - "1180:80"
      - "1122:22"
      - "1143:443"

    volumes:
      - '$HOME/dev/docker/vol/gitlab_ce_irisrose/config:/etc/gitlab'
      - '$HOME/dev/docker/vol/gitlab_ce_irisrose/logs:/var/log/gitlab'
      - '$HOME/dev/docker/vol/gitlab_ce_irisrose/data:/var/opt/gitlab'


----------------------------------------------------
>>우분투, docker-compose.yml 파일을 생성해서 실행함, doc 와 vol 폴더 구분
----------------------------------------------------
/data/dev/docker/doc/docker-gitlab_ee/docker-compose.yml
/data/dev/docker/vol/gitlab_ee_irisrose
경로 설정: /data/dev/docker/vol/gitlab_ce_irisrose
rm -rf /data/dev/docker/vol/gitlab_ce_irisrose
mkdir -p /data/dev/docker/vol/gitlab_ce_irisrose

version: '3.6'
services:
  gitlab:
    image: 'gitlab/gitlab-ce:latest'
    container_name: gitlab_ce_irisrose
    restart: always
    hostname: 'gitlab-ce.irisrose.com'
    environment:
      GITLAB_OMNIBUS_CONFIG: |
        external_url 'http://gitlab-ce.irisrose.com'
        gitlab_rails['gitlab_shell_ssh_port'] = 1122
      GITLAB_TIMEZONE: Asia/Seoul
    ports:
      - "1180:80"
      - "1122:22"
      - "1143:443"

    volumes:
      - '/data/dev/docker/vol/gitlab_ce_irisrose/config:/etc/gitlab'
      - '/data/dev/docker/vol/gitlab_ce_irisrose/logs:/var/log/gitlab'
      - '/data/dev/docker/vol/gitlab_ce_irisrose/data:/var/opt/gitlab'


----------------------------------------------------

docker-compose.yml
docker-compose up -d

gitlab 초기 패스워드 확인
docker exec -it gitlab_ce_irisrose grep 'Password:' /etc/gitlab/initial_root_password
Password: fzyjDUEsQrzWDKTAPoAzMBE/F6u1GnPjxDNCBQehvY0=
                  1q2w3e4r5t!@

docker-compose logs -f


오라클 LIKE 문에서 "%", "_" 문자의 역할은 일반적인 정규표현식에서의 "*", "?" 동일하다.

만약 LIKE 문에서 "%", "_" 문자가 들어간 문자열을 검색할 어떻게 해야할까?

아래 예문과 같이 수행하면 된다

SELECT * FROM TABLE1 A

WHERE A.COL1 LIKE '#%%TXT' ESCAPE '#';

위와 같이 조회를 하게 되면 "%TXT" 끝나는 모든 내용이 조회된다.

, ESCAPE 예약어를 이용하여 특수문자를 일반문자로 변경시킬 있다.

+ Recent posts