728x90
반응형

docker-compose를 사용해서 Mysql을 설치 진행을 해보겠습니다. 

 

파일 구조는 아래와 같습니다.

 

파일구조

$ tree db
db root directory 
|-- docker-compose.yml // mysql 빌드 파일 
`-- env.mysql // 환경 파일 

 

mysql 환경 파일 (env.mysql)

MYSQL_DATABASE=mysql8
MYSQL_ROOT_PASSWORD=admin
MYSQL_USER=testuser
MYSQL_PASSWORD=userpasswd

 

mysql compose 파일(docker-compose.yml)

version: '3.8'

services:
  mysql_db: ## Service Name

    container_name: mysql-8  ## Container Name

    image: mysql:8.0

    env_file:
      - ./env.mysql

    ports:
      - 23306:3306

    command:
      - --character-set-server=utf8mb4
      - --collation-server=utf8mb4_unicode_ci

    volumes:
      - ./mysql_data:/var/lib/mysql

 

mysql 설치 (docker-compose up -d)

$ docker-compose up -d --build                                                               
Creating network "db_default" with the default driver
Pulling mysql_db (mysql:8.0)...
8.0: Pulling from library/mysql
f003217c5aae: Pull complete
65d94f01a09f: Pull complete
43d78aaa6078: Pull complete
a0f91ffbdf69: Pull complete
59ee9e07e12f: Pull complete
04d82978082c: Pull complete
70f46ebb971a: Pull complete
db6ea71d471d: Pull complete
c2920c795b25: Pull complete
26c3bdf75ff5: Pull complete
9ec1f1f78b0e: Pull complete
4607fa685ac6: Pull complete
Digest: sha256:1c75ba7716c6f73fc106dacedfdcf13f934ea8c161c8b3b3e4618bcd5fbcf195
Status: Downloaded newer image for mysql:8.0
Creating mysql-8 ... done

 

mysql 상태 확인 

  • docker image ls 명령을 통해 mysql 이미지가 생성된 것을 확인할 수 있습니다. 
$ docker image ls
REPOSITORY                           TAG                   IMAGE ID       CREATED         SIZE
mysql                                8.0                   667ee8fb158e   37 hours ago    521MB
  • docker-compose ps 명령을 통해 컨테이너 상태를 확인할 수 있습니다. 
$ docker-compose ps  
 Name                Command               State                           Ports                        
--------------------------------------------------------------------------------------------------------
mysql-8   docker-entrypoint.sh --cha ...   Up      0.0.0.0:23306->3306/tcp,:::23306->3306/tcp, 33060/tcp

 

mysql Data file 확인 

도커 설치 후 mysql_data 디렉터리가 생성이 되었고 해당 디렉터리에 데이터 파일이 생성됩니다. 

docker-compose 파일에 volume 설정을 하면  호스트 디렉터리에  mysql_data  디렉터리가 없더라도 빌드 과정에서 

자동으로 생성 되게 됩니다. 

 

    volumes:
      - ./mysql_data:/var/lib/mysql =>  [host volume]:[container volume]

 

$ tree db
db
|-- docker-compose.yml
|-- env.mysql
`-- mysql_data
    |-- #ib_16384_0.dblwr
    |-- #ib_16384_1.dblwr
    |-- #innodb_temp [error opening dir]
    |-- auto.cnf
    |-- binlog.000001
    |-- binlog.000002
    |-- binlog.000003
    |-- binlog.index
    |-- ca-key.pem
    |-- ca.pem
    |-- client-cert.pem
    |-- client-key.pem
    |-- ib_buffer_pool
    |-- ib_logfile0
    |-- ib_logfile1
    |-- ibdata1
    |-- ibtmp1
    |-- mysql [error opening dir]
    |-- mysql.ibd
    |-- mysql8 [error opening dir]
    |-- performance_schema [error opening dir]
    |-- private_key.pem
    |-- public_key.pem
    |-- server-cert.pem
    |-- server-key.pem
    |-- sys [error opening dir]
    |-- undo_001
    `-- undo_002

 

mysql 컨테이너 접속 및 실습

  • docker-compose exec mysql_db /bin/bash 명령을 통해 컨테이너에 접속을 합니다.
  • mysql -u testuser  -p --host 127.0.0.1 접속 명령을 통해 mysql에 접속합니다. 
    • MYSQL_USER=testuser
    • MYSQL_PASSWORD=userpasswd
  • show database 명령을 통해 접속 db를 확인합니다.
    • MYSQL_DATABASE=mysql8
  • t_board 테이블을 생성합니다. 
  • show tables  명령을 통해 생성된 테이블을 확인합니다. 
  • t_board  테이블에 데이터를 입력합니다. 
  • 입력한 데이터를 조회합니다. 

 

 

Sample data

CREATE TABLE t_board (
board_idx INT(11) NOT NULL AUTO_INCREMENT COMMENT ' ',
title VARCHAR(300) NOT NULL COMMENT '',
contents TEXT NOT NULL COMMENT '',
hit_cnt SMALLINT(100) NOT NULL DEFAULT '0' COMMENT '',
created_datetime DATETIME NOT NULL COMMENT '',
creator_id VARCHAR(50) NOT NULL COMMENT '',
updated_datetime DATETIME DEFAULT NULL COMMENT '',
updater_id VARCHAR(50) DEFAULT NULL COMMENT '',
deleted_yn CHAR(1) NOT NULL DEFAULT 'N' COMMENT ' ',
PRIMARY KEY (board_idx)
);

insert into t_board(board_idx,title, contents, hit_cnt,created_datetime, creator_id,  deleted_yn)
values(1,'제목','내용 작성',1,SYSDATE(),'tester','N');


select * from t_board;

 

  • 테스트 테스트 진행 
$ docker-compose exec mysql_db /bin/bash
root@24a15adb0cb3:/# ls
bin  boot  dev  docker-entrypoint-initdb.d  entrypoint.sh  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var

root@24a15adb0cb3:/var/lib/mysql# mysql -u testuser  -p --host 127.0.0.1
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 11
Server version: 8.0.28 MySQL Community Server - GPL

Copyright (c) 2000, 2022, 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.


mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql8             |
+--------------------+
2 rows in set (0.01 sec)

mysql> use mysql8
Database changed
mysql> CREATE TABLE t_board (
    -> board_idx INT(11) NOT NULL AUTO_INCREMENT COMMENT ' ',
    -> title VARCHAR(300) NOT NULL COMMENT '',
    -> contents TEXT NOT NULL COMMENT '',
    -> hit_cnt SMALLINT(100) NOT NULL DEFAULT '0' COMMENT '',
    -> created_datetime DATETIME NOT NULL COMMENT '',
    -> creator_id VARCHAR(50) NOT NULL COMMENT '',
    -> updated_datetime DATETIME DEFAULT NULL COMMENT '',
    -> updater_id VARCHAR(50) DEFAULT NULL COMMENT '',
    -> deleted_yn CHAR(1) NOT NULL DEFAULT 'N' COMMENT ' ',
    -> PRIMARY KEY (board_idx)
    -> );
Query OK, 0 rows affected, 2 warnings (0.02 sec)

mysql> show tables;
+------------------+
| Tables_in_mysql8 |
+------------------+
| t_board          |
+------------------+
1 row in set (0.01 sec)

mysql> insert into t_board(board_idx,title, contents, hit_cnt,created_datetime, creator_id,  deleted_yn)
    -> values(1,'',' ',1,SYSDATE(),'tester','N');
Query OK, 1 row affected (0.01 sec)

mysql> select * from t_board;
+-----------+-------+----------+---------+---------------------+------------+------------------+------------+------------+
| board_idx | title | contents | hit_cnt | created_datetime    | creator_id | updated_datetime | updater_id | deleted_yn |
+-----------+-------+----------+---------+---------------------+------------+------------------+------------+------------+
|         1 |       |          |       1 | 2022-03-31 07:34:14 | tester     | NULL             | NULL       | N          |
+-----------+-------+----------+---------+---------------------+------------+------------------+------------+------------+
1 row in set (0.00 sec)


 

728x90
반응형
728x90
반응형

docker-compose 를 이용해 빌드를 진행해 보겠습니다. 

파일 구조는 아래와 같습니다. 

 

os
|-- Dockerfile : 빌드 하기 위한 도커 파일 
`-- docker-compose.dev.yml : docker-compose 에서 실습할 yml 파일 

 

ubuntu 20.04 버전으로 이미지를 만들도록 하겠습니다. 

내용은 없습니다. 

Docker File 생성(Dockerfile) 

FROM ubuntu:20.04
RUN echo " TEST ubuntu"

docker-compose.yml 파일 생성 (docker-compose.dev.yml)

version: '3.8'

services:

     ubuntu: ## Service Name

         container_name: ubuntu20  ## Container Name

         build:
           context: . ## build Docker file location
           dockerfile: Dockerfile ## build file name

 

docker-compose build

docker-compose 수행시 사용되는 default 파일명은 docker-compose.yml 입니다. 

운영과 개발 이미지를 분리하고자 한다면 docker-compose.dev.yml (개발) or docker-compose.prod.yml 처럼 

파일을 분리해서 컨테이너를 관리하면 됩니다. 

 

만약  default 파일이 없다면 아래와 같은 에러가 발생합니다. 

docker-compose build
ERROR: 
        Can't find a suitable configuration file in this directory or any
        parent. Are you in the right directory?
        Supported filenames: docker-compose.yml, docker-compose.yaml, compose.yml, compose.yaml

 

docker-compose 명령을 통해 Dockerfile 빌드를 진행후 생성된 이미지를 확인 합니다. 

이미지명은 현재 디렉토리명_커테이너명(os_ubuntu )으로 생성됩니다. 

  1. docker-compose -f docker-compose.dev.yml build  // 이미지 빌드 
  2. docker-image ls // 도커 이미지 확인 
$ docker-compose -f docker-compose.dev.yml build 
Building ubuntu
Sending build context to Docker daemon  3.584kB
Step 1/2 : FROM ubuntu:20.04
 ---> ff0fea8310f3
Step 2/2 : RUN echo " TEST ubuntu"
 ---> Using cache
 ---> 70456ca2c54a
Successfully built 70456ca2c54a
Successfully tagged os_ubuntu:latest

$ docker image ls
REPOSITORY                           TAG                   IMAGE ID       CREATED         SIZE
os_ubuntu                            latest                70456ca2c54a   6 hours ago     72.8MB

 

Docker Container 기동 및 확인 

컨테이너 기동 명령어는 docker-compose -f [compose file name ] up or up -d 입니다. -d 일경우 컨테이너가 백그라운드로 실행 되게 됩니다. 

docker-compose -f docker-compose.dev.yml up 또는 

docker-compose -f docker-compose.dev.yml -up -d (백그라운드 실행)

 

컨테이너 상태 확인 시 종료 되어있습니다. 

Docker 는 Virtual machine 이 아니라 가상화된 공간을 제공해 줄 뿐이다 .

이러한 이유로 docker-compose up 을 수행해도  컨테이너는 기동 후 바로 종료된다. 

 

[docker_test@centos7:/data1/docker_test/compose/os]$ docker-compose -f docker-compose.dev.yml up                                
Creating network "os_default" with the default driver
Creating ubuntu20 ... done
Attaching to ubuntu20
ubuntu20 exited with code 0
[docker_test@centos7:/data1/docker_test/compose/os]$ docker ps -an 1
CONTAINER ID   IMAGE       COMMAND   CREATED              STATUS                          PORTS     NAMES
e7a79b9a66fb   os_ubuntu   "bash"    About a minute ago   Exited (0) About a minute ago             ubuntu20

 

Docker Container 접속

  • docker-compose.dev.yml
version: '3.8'

services:

     ubuntu: ## Service Name

         container_name: ubuntu20  ## Container Name

         build:
           context: . ## build Docker file locate
           dockerfile: Dockerfile ## build file name

         command:  tail -f > /dev/null​

재기동 및 접속 

  • docker-compose down : 도커 컨테이너를 중지 시키고 삭제 합니다.
  • docker-compose stop : 도커 컨테이너를 중지 시킵니다. 
  • docker-compose start : 도커 컨테이너를 실행합니다. 
  • docker-compose ps : 컨테이너 상태를 확인합니다.
  • docker-compose exec [servicename] [shell cmd] : 도커 컨테이너 접속 
    • 접속시 컨테이너 명이 아니고 .yml 파일에 작성한  서비스 명(ubuntu)입니다. 

 

 

$ docker-compose -f docker-compose.dev.yml  down           
Stopping ubuntu20 ... done
Removing ubuntu20 ... done
Removing network os_default

docker ps -a
CONTAINER ID   IMAGE                                             COMMAND                  CREATED          STATUS                  PORTS                                                                                  NAMES
$ docker ps -a
CONTAINER ID   IMAGE                                             COMMAND                  CREATED          STATUS                  PORTS                                                                                  NAMES
53513453d705   os_ubuntu                                         "tail -f > /dev/null"    44 seconds ago   Up 4 seconds    ​   os_ubuntu                                         "tail -f > /dev/null"    44 seconds ago   Up 4 seconds

docker-compose -f docker-compose.dev.yml  ps -a      
  Name           Command         State   Ports
----------------------------------------------
ubuntu20   tail -f > /dev/null   Up           

$ docker-compose -f docker-compose.dev.yml exec ubuntu /bin/bash 
root@53513453d705:/# ls
bin  boot  dev  etc  home  lib  lib32  lib64  libx32  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var

 

728x90
반응형

'02.Docker & Podman > docker-compose' 카테고리의 다른 글

[docker-compose] docker mysql 설치  (0) 2022.04.01
docker-compose 를 이용한 Oracle 19c 설치  (0) 2022.03.22
Docker-compose 설치  (0) 2022.03.21
728x90
반응형

이전에  Docker 를 활용해 Oracle19c 를 설치 하는 방법에 알아 보았습니다. 

이번에는 docker-compose 를 활용해서 Oracle19c 를 설치 해보겠습니다. 

 

설치를 위한 파일 구조 생성 

이전에 소개했던 오라클19c 설치 글 (https://growupcoding.tistory.com/18 ) 내용과 거의 동일 하며 

Docker 오라클 실행 부분만 docker-compose를 활용해 설치해보겠습니다. 

compose 디렉토리 생성 및 공유 디렉토리 권한 변경

  • compose : 파일 및 Oracle19c 가 설치될 파일 디렉토리를 만듭니다. 
  • docker-compose.ora19c.yml : 이미지 빌드를 하기 위한 compose 파일 
  • or19env :  오라클 환경파일(ORACLE_HOME, ORACLE_SID)
  • oradata/ora19_data :오라클 데이터 파일이 생성될 공유 디렉토리

 

oracle-docker@ubuntu2004:~$ tree compose/
compose/
|-- docker-compose.ora19c.yml
|-- or19env
`-- oradata
    `-- ora19_data
        |-- ORCLCDB [error opening dir]
        `-- dbconfig
            `-- ORCLCDB
                |-- listener.ora
                |-- orapwORCLCDB
                |-- oratab
                |-- spfileORCLCDB.ora
                |-- sqlnet.ora
                `-- tnsnames.ora

 

compose 디렉토리 생성

mkdir -p compose/oradata/ora19_data

chmod -Rf 777 compose/oradata/ora19_data

사전 확인 및 준비 사항 (image,환경파일) 

oracle-docker@ubuntu2004:~/compose$ docker image ls
REPOSITORY        TAG         IMAGE ID       CREATED        SIZE
oracle/database   19.3.0-ee   c711d39c5597   2 hours ago    6.53GB
oraclelinux       7-slim      8dd98256c841   10 hours ago   133MB


oracle-docker@ubuntu2004:~/compose$ vi ora19env 
ORACLE_PWD=oracle
ORACLE_SID=orclcdb

docker-compose.yml 작성 

  • env_file : 오라클에서 container 사용하게될 환경 변수 입니다. 
  • image : 빌드를 하게될 오라클 19c 이미지입니다. 
  • ports : 오라클 컨테이너와 통신에 사용하게될 통신 포트 입니다. 설정은 host port: container port 로 작성 합니다. 
  • volumes : 컨테이너와 공유하게될 호스트 볼륨 정보입니다. 
version: '3.8'

 services:
     ora19c:
         container_name: ora19c
 
         env_file:
             - ora19env
 
         image: oracle/database:19.3.0-ee
 
         ports:
             - 1521:1521
             - 5500:5500
 
         volumes:
             - ./oradata/ora19_data:/opt/oracle/oradata
 
         privileged: true

Docker 명령어와 비교해 보겠습니다.

빌드시 항항 명령어를 기억해야 하지만 docker-compose 파일로 관리 하면 이미지별 컨테이너 관리도 쉽습니다. 

또 서비스에 여러개의 컨테이너를 등록 할수도 있습니다. 

  • 오라클 Docker 명령
docker run  \
--name oracle19c \
-p 1519:1521 \
-p 5519:5500 \
-e ORACLE_PWD=oracle \
-e ORACLE_SID=orclcdb \
-v ./data:/opt/oracle/oradata \
oracle/database:19.3.0-ee

 

docker-compose 빌드 

[oracle-docker@ubuntu2004:/home/oracle-docker/compose]$ docker-compose -f docker-compose.ora19c.yml up
Creating network "compose_default" with the default driver
Creating ora19c ... done
Attaching to ora19c
ora19c    | ORACLE EDITION: ENTERPRISE
ora19c    | 
ora19c    | LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 19-MAR-2022 08:09:28
ora19c    | 
ora19c    | Copyright (c) 1991, 2019, Oracle.  All rights reserved.
ora19c    | 
ora19c    | Starting /opt/oracle/product/19c/dbhome_1/bin/tnslsnr: please wait...
ora19c    | 
ora19c    | TNSLSNR for Linux: Version 19.0.0.0.0 - Production
ora19c    | System parameter file is /opt/oracle/product/19c/dbhome_1/network/admin/listener.ora
ora19c    | Log messages written to /opt/oracle/diag/tnslsnr/bc698e003576/listener/alert/log.xml
ora19c    | Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1)))
ora19c    | Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=0.0.0.0)(PORT=1521)))
ora19c    | 
ora19c    | Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))
ora19c    | STATUS of the LISTENER
ora19c    | ------------------------
ora19c    | Alias                     LISTENER
ora19c    | Version                   TNSLSNR for Linux: Version 19.0.0.0.0 - Production
ora19c    | Start Date                19-MAR-2022 08:09:32
ora19c    | Uptime                    0 days 0 hr. 0 min. 3 sec
ora19c    | Trace Level               off
ora19c    | Security                  ON: Local OS Authentication
ora19c    | SNMP                      OFF
ora19c    | Listener Parameter File   /opt/oracle/product/19c/dbhome_1/network/admin/listener.ora
ora19c    | Listener Log File         /opt/oracle/diag/tnslsnr/bc698e003576/listener/alert/log.xml
ora19c    | Listening Endpoints Summary...
ora19c    |   (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1)))
ora19c    |   (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=0.0.0.0)(PORT=1521)))
ora19c    | The listener supports no services
ora19c    | The command completed successfully
ora19c    | Prepare for db operation
ora19c    | 8% complete
ora19c    | Copying database files
ora19c    | 31% complete
ora19c    | Creating and starting Oracle instance
ora19c    | 32% complete
ora19c    | 36% complete
ora19c    | 40% complete
ora19c    | 43% complete
ora19c    | 46% complete
ora19c    | Completing Database Creation
ora19c    | 51% complete
ora19c    | 54% complete
ora19c    | Creating Pluggable Databases
ora19c    | 58% complete
ora19c    | 77% complete
ora19c    | Executing Post Configuration Actions
ora19c    | 100% complete
ora19c    | Database creation complete. For details check the logfiles at:
ora19c    |  /opt/oracle/cfgtoollogs/dbca/ORCLCDB.
ora19c    | Database Information:
ora19c    | Global Database Name:ORCLCDB
ora19c    | System Identifier(SID):ORCLCDB
ora19c    | Look at the log file "/opt/oracle/cfgtoollogs/dbca/ORCLCDB/ORCLCDB.log" for further details.
ora19c    | 
ora19c    | SQL*Plus: Release 19.0.0.0.0 - Production on Sat Mar 19 08:41:27 2022
ora19c    | Version 19.3.0.0.0
ora19c    | 
ora19c    | Copyright (c) 1982, 2019, Oracle.  All rights reserved.
ora19c    | 
ora19c    | 
ora19c    | Connected to:
ora19c    | Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
ora19c    | Version 19.3.0.0.0
ora19c    | 
ora19c    | SQL> 
ora19c    | System altered.
ora19c    | 
ora19c    | SQL> 
ora19c    | System altered.
ora19c    | 
ora19c    | SQL> 
ora19c    | Pluggable database altered.
ora19c    | 
ora19c    | SQL> 
ora19c    | PL/SQL procedure successfully completed.
ora19c    | 
ora19c    | SQL> SQL> 
ora19c    | Session altered.
ora19c    | 
ora19c    | SQL> 
ora19c    | User created.
ora19c    | 
ora19c    | SQL> 
ora19c    | Grant succeeded.
ora19c    | 
ora19c    | SQL> 
ora19c    | Grant succeeded.
ora19c    | 
ora19c    | SQL> 
ora19c    | Grant succeeded.
ora19c    | 
ora19c    | SQL> 
ora19c    | User altered.
ora19c    | 
ora19c    | SQL> SQL> Disconnected from Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
ora19c    | Version 19.3.0.0.0
ora19c    | The Oracle base remains unchanged with value /opt/oracle
ora19c    | The Oracle base remains unchanged with value /opt/oracle
ora19c    | #########################
ora19c    | DATABASE IS READY TO USE!
ora19c    | #########################
ora19c    | The following output is now a tail of the alert.log:
ora19c    | ORCLPDB1(3):ALTER DATABASE DEFAULT TABLESPACE "USERS"
ora19c    | ORCLPDB1(3):Completed: ALTER DATABASE DEFAULT TABLESPACE "USERS"
ora19c    | 2022-03-19T08:41:28.125385+00:00
ora19c    | ALTER SYSTEM SET control_files='/opt/oracle/oradata/ORCLCDB/control01.ctl' SCOPE=SPFILE;
ora19c    | 2022-03-19T08:41:28.318093+00:00
ora19c    | ALTER SYSTEM SET local_listener='' SCOPE=BOTH;
ora19c    |    ALTER PLUGGABLE DATABASE ORCLPDB1 SAVE STATE
ora19c    | Completed:    ALTER PLUGGABLE DATABASE ORCLPDB1 SAVE STATE
ora19c    | 
ora19c    | XDB initialized.
ora19c    | 2022-03-19T08:50:54.083033+00:00
ora19c    | ORCLPDB1(3):Resize operation completed for file# 10, old size 327680K, new size 337920K
ora19c    | 2022-03-19T09:00:56.067953+00:00
ora19c    | Resize operation completed for file# 3, old size 522240K, new size 532480K

Docker 프로세스 확인

  • docker-compose -f docker-compose.ora19c.yml ps -a
  • docker ps -a 

oracle-docker@ubuntu2004:~/compose$ docker-compose -f docker-compose.ora19c.yml ps -a
 Name               Command                  State                                             Ports                                       
-------------------------------------------------------------------------------------------------------------------------------------------
ora19c   /bin/sh -c exec $ORACLE_BA ...   Up (healthy)   0.0.0.0:1521->1521/tcp,:::1521->1521/tcp, 0.0.0.0:5500->5500/tcp,:::5500->5500/tcp
oracle-docker@ubuntu2004:~/compose$ docker-compose -f docker-compose.ora19c.yml ps 
 Name               Command                  State                                             Ports                                       
-------------------------------------------------------------------------------------------------------------------------------------------
ora19c   /bin/sh -c exec $ORACLE_BA ...   Up (healthy)   0.0.0.0:1521->1521/tcp,:::1521->1521/tcp, 0.0.0.0:5500->5500/tcp,:::5500->5500/tcp
oracle-docker@ubuntu2004:~/compose$ docker ps -a
CONTAINER ID   IMAGE                       COMMAND                  CREATED             STATUS                   PORTS                                                                                  NAMES
bc698e003576   oracle/database:19.3.0-ee   "/bin/sh -c 'exec $O   About an hour ago   Up 5 minutes (healthy)   0.0.0.0:1521->1521/tcp, :::1521->1521/tcp, 0.0.0.0:5500->5500/tcp, :::5500->5500/tcp   ora19c

 

Docker Container 실행 및 컨테이너 접속

 

실행결과

oracle-docker@ubuntu2004:~/compose$ docker-compose -f docker-compose.ora19c.yml up -d
Starting ora19c ... done
oracle-docker@ubuntu2004:~/compose$ docker-compose -f docker-compose.ora19c.yml exec ora19c /bin/bash
[oracle@01a4f713764f ~]$ sqlplus sys/oracle as sysdba

SQL*Plus: Release 19.0.0.0.0 - Production on Sat Mar 19 23:13:42 2022
Version 19.3.0.0.0

Copyright (c) 1982, 2019, Oracle.  All rights reserved.


Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0

SQL> select * from dual;

D
-
X

SQL> 

Docker-compose 기본 명령 

docker-compose -f [docker compose 파일] [명령어]
docker-compose -f docker-compose.ora19c.yml up
docker-compose -f docker-compose.ora19c.yml up -d // 백그라운드 모드 실행 

docker-compose -f docker-compose.ora19c.yml start // 정지한 컨테이너를 시작
docker-compose -f docker-compose.ora19c.yml start ora19c // 컨테이너가 여러개일경우 ora19c 

docker-compose -f docker-compose.ora19c.yml restart // 이미 실행 중인 컨테이너 다시 시작





docker-compose -f docker-compose.ora19c.yml stop // 컨테이너 중지

docker-compose -f docker-compose.ora19c.yml down // 컨테이너 중지및 삭제

docker-compose -f docker-compose.ora19c.yml  logs // 컨테이너로그 확인

docker-compose -f docker-compose.ora19c.yml ps // 컨테이너 목록 

//Docker 접속 
docker-compose exec [컨테이너] [명령어]
docker-compose -f docker-compose.ora19c.yml exec ora19c /bin/bash​
728x90
반응형
728x90
반응형

docker-compose install

sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

 

docker-compose 권한 부여

sudo chmod +x /usr/local/bin/docker-compose

 

docker-compose 버전 확인

docker-compose --version

 

실행 

 

docker compose V1 , V2

  • docker-compose 는 2023 년 7월 이후 더이상 업데이트 되지 않습니다. 

  • 지금까지 사용했던 compose 버전은 V1 이 였습니다. 
  • 앞으로 더이상 지원 하지 않는 버전이라고 하니 V1 삭제후 V2 로 재설치 하는 방법에 대해 알아봅니다. 
  • 다시말하면 docker-compose 은 v1 이고  docker compose(하이픈 - 없는것) 은 V2 버전으로 알고 있으면 되겠네요.

https://docs.docker.com/compose/migrate/#what-are-the-differences-between-compose-v1-and-compose-v2

 

Migrate to Compose V2

How to migrate from Compose V1 to V2

docs.docker.com

 

 

docker compose  V2 Install 

  • 설치된 v1 을 삭제 하고 v2 를 설치 합니다. 

docker-compose  v1 uninstall 

sudo yum remove docker-compose-plugin

 

docker-compose  v2 install 

sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

 

설치 버전 확인 

[root@centos7:/root]$ docker --version
Docker version 26.1.4, build 5650f9b
[root@centos7:/root]$ docker compose version
Docker Compose version v2.27.1
728x90
반응형

+ Recent posts