728x90
반응형

목차

 

dial unix /run/user/0/bus: connect: permission denied 에러 

  • 현상:
    • level=error msg="failed to move the rootless netns pasta process to the systemd user.slice: dial unix /run/user/0/bus: connect: permission denied"
    • rootless 환경에서 Podman을 실행 중인데, DBus 및 systemd 관련 문제가 있어 발생 하는 문제 
[pod_svc]          | time="2025-02-21T15:41:15+09:00" level=error msg="failed to move the rootless netns pasta process to the systemd user.slice: dial unix /run/user/0/bus: connect: permission denied"
[pod_svc]          | [WARN  netavark::dns::aardvark] Failed to delete aardvark-dns entries after failed start: failed to get aardvark pid: IO error: No such file or directory (os error 2)
[pod_svc]          | time="2025-02-21T15:41:15+09:00" level=error msg="Removing timer for container e2d4353bc33469927b0a0a41092a5f89f8c11f2dd1e58c7ea43c14ce3c47277f healthcheck: unable to get systemd connection to remove healthchecks: lstat /tmp/storage-run-1014/systemd: no such file or directory"
[pod_svc]          | Error: unable to start container e2d4353bc33469927b0a0a41092a5f89f8c11f2dd1e58c7ea43c14ce3c47277f: netavark: IO error: Error while applying dns entries: IO error: aardvark-dns failed to start: Failed to connect to bus: No such file or directory

 

  • 조치 
    • Linger=yes 설정 확인 
whoami
id
loginctl show-user $(whoami)
loginctl enable-linger $(whoami)
  • DBus 및 systemd user session 문제 해결
    • 모든 네트워크 및 DNS 설정 삭제 & Podman 시스템 전체 초기화 
rm -rf ~/.config/containers/aardvark-dns
rm -rf ~/.local/share/containers/networks
podman system reset

 

 

Error: creating container storage: the container name "ora19c" is already in use

[oracle19c@rocky9:/nvme/oracle19c/ora19c]$ podman compose -f docker-compose.ora19c.yml up -d 
>>>> Executing external compose provider "/usr/bin/podman-compose". Please see podman-compose(1) for how to disable this message. <<<<

podman-compose version: 1.0.6
['podman', '--version', '']
using podman version: 5.2.2
** excluding:  set()
['podman', 'ps', '--filter', 'label=io.podman.compose.project=ora19c', '-a', '--format', '{{ index .Labels "io.podman.compose.config-hash"}}']
['podman', 'network', 'exists', 'ora19c_default']
podman run --name=ora19c -d --label io.podman.compose.config-hash=b535161f910884a22b7eee1fc1500d4d42875ca62d69eb37d5df64cb0aab6066 --label io.podman.compose.project=ora19c --label io.podman.compose.version=1.0.6 --label PODMAN_SYSTEMD_UNIT=podman-compose@ora19c.service --label com.docker.compose.project=ora19c --label com.docker.compose.project.working_dir=/nvme/oracle19c/ora19c --label cohttp://m.docker.compose.project.config_files=docker-compose.ora19c.yml --label com.docker.compose.container-number=1 --label com.docker.compose.service=ora19c --env-file /nvme/oracle19c/ora19c/ora19env -v /nvme/oracle19c/ora19c/oradata/ora19_data:/opt/oracle/oradata -v /nvme/oracle19c/ora19c/tibero:/opt/tibero -v /nvme/oracle19c/ora19c/archive:/home/oracle/archive -v /nvme/oracle19c/ora19c/prs_data:/home/oracle --net ora19c_default --network-alias ora19c -p 1521:1521 -p 5500:5500 --privileged oracle/database:19.3.0-ee
Error: creating container storage: the container name "ora19c" is already in use by 4f831c2930bfbd6b2f5896b31b64a0cf0496fa160d0cd2ee3d1382293a06b08d. You have to remove that container to be able to reuse that name: that name is already in use by an external entity, or use --replace to instruct Podman to do so.
exit code: 125
podman start ora19c
Error: no container with name or ID "ora19c" found: no such container
exit code: 125
  • podman ps -a  | grp [container 이름]:현재 실행 중인  컨테이너 확인
  • 실행중인 컨테이너 삭제 
  • 삭제 안될시 강제 삭제 
#컨테이너 중지및 삭제
podman stop ora19c
podman rm ora19c
#컨테이너 명으로 삭제
podman rm -f ora19c
#컨테이너 ID 로 삭제
podman rm -f 4f831c2930bf

 

[oracle19c@rocky9:/nvme/oracle19c/ora19c]$ podman compose -f docker-compose.ora19c.yml up -d 
>>>> Executing external compose provider "/usr/bin/podman-compose". Please see podman-compose(1) for how to disable this message. <<<<

podman-compose version: 1.0.6
['podman', '--version', '']
using podman version: 5.2.2
** excluding:  set()
['podman', 'ps', '--filter', 'label=io.podman.compose.project=ora19c', '-a', '--format', '{{ index .Labels "io.podman.compose.config-hash"}}']
['podman', 'network', 'exists', 'ora19c_default']
podman run --name=ora19c -d --label io.podman.compose.config-hash=b535161f910884a22b7eee1fc1500d4d42875ca62d69eb37d5df64cb0aab6066 --label io.podman.compose.project=ora19c --label io.podman.compose.version=1.0.6 --label PODMAN_SYSTEMD_UNIT=podman-compose@ora19c.service --label com.docker.compose.project=ora19c --label com.docker.compose.project.working_dir=/nvme/oracle19c/ora19c --label cohttp://m.docker.compose.project.config_files=docker-compose.ora19c.yml --label com.docker.compose.container-number=1 --label com.docker.compose.service=ora19c --env-file /nvme/oracle19c/ora19c/ora19env -v /nvme/oracle19c/ora19c/oradata/ora19_data:/opt/oracle/oradata -v /nvme/oracle19c/ora19c/tibero:/opt/tibero -v /nvme/oracle19c/ora19c/archive:/home/oracle/archive -v /nvme/oracle19c/ora19c/prs_data:/home/oracle --net ora19c_default --network-alias ora19c -p 1521:1521 -p 5500:5500 --privileged oracle/database:19.3.0-ee
a20067f10d1356d05aee1f7ae38477ba261ba978a702d6bf81011a4c9bbe240c
[oracle19c@rocky9:/nvme/oracle19c/ora19c]$ podman ps -a
CONTAINER ID  IMAGE                                COMMAND               CREATED        STATUS        PORTS                                           NAMES
a20067f10d13  localhost/oracle/database:19.3.0-ee  /bin/bash -c exec...  3 minutes ago  Up 3 minutes  0.0.0.0:1521->1521/tcp, 0.0.0.0:5500->5500/tcp  ora19c

 

 

728x90
반응형

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

[podman] podman 기본 사용 셋팅  (0) 2025.02.14
728x90
반응형

Podman Registry 설정 방법

기본 레지스트리 지정 방법

  • 설정 파일 : /etc/containers/registries.conf
  • 등록 방법 :unqualified-search-registries
unqualified-search-registries = ["docker.io", "quay.io", "registry.fedoraproject.org"]

 

  • 사용자 지정 프라이빗 레지스트리 등록 방법 : [[registry]]
[[registry]]
location = "myregistry.example.com"
insecure = false

 

  • location : 사용할 레지스트리 주소
  • insecure = false : HTTPS(보안 연결) 사용 (기본값)
  • insecure = true : HTTP(보안 미사용) 허용 (사내 레지스트리에서 필요할 수 있음)

podman 설정 적용 

  • 버전 정보 확인 
podman version
podman compose version
$ podman version
Client:       Podman Engine
Version:      5.2.2
API Version:  5.2.2
Go Version:   go1.22.7 (Red Hat 1.22.7-2.el9_5)
Built:        Tue Nov 12 21:34:59 2024
OS/Arch:      linux/amd64

$ podman compose version
>>>> Executing external compose provider "/hdd/syma8/.local/bin/podman-compose". Please see podman-compose(1) for how to disable this message. <<<<

podman-compose version 1.3.0
podman version 5.2.2
  • podman 재시작 
 systemctl  restart podman

 

podman  기본 사용 명령어 

  • podman image 삭제 방법 
#실행 중인 것 포함하여 모든 컨테이너 정리
podman stop -a
#컨테이너 삭제
podman rm -a
#podman 사용 이미지 삭제
podman rmi -a
#모든 pod 삭제
podman pod rm -a
#캐시 및 네트워크 데이터도 정리
podman system prune -a

 

 

podman error  조치 가이드

  • 현상:
    • level=error msg="failed to move the rootless netns pasta process to the systemd user.slice: dial unix /run/user/0/bus: connect: permission denied"
    • rootless 환경에서 Podman을 실행 중인데, DBus 및 systemd 관련 문제가 있어 발생 하는 문제 
[pod_svc]          | time="2025-02-21T15:41:15+09:00" level=error msg="failed to move the rootless netns pasta process to the systemd user.slice: dial unix /run/user/0/bus: connect: permission denied"
[pod_svc]          | [WARN  netavark::dns::aardvark] Failed to delete aardvark-dns entries after failed start: failed to get aardvark pid: IO error: No such file or directory (os error 2)
[pod_svc]          | time="2025-02-21T15:41:15+09:00" level=error msg="Removing timer for container e2d4353bc33469927b0a0a41092a5f89f8c11f2dd1e58c7ea43c14ce3c47277f healthcheck: unable to get systemd connection to remove healthchecks: lstat /tmp/storage-run-1014/systemd: no such file or directory"
[pod_svc]          | Error: unable to start container e2d4353bc33469927b0a0a41092a5f89f8c11f2dd1e58c7ea43c14ce3c47277f: netavark: IO error: Error while applying dns entries: IO error: aardvark-dns failed to start: Failed to connect to bus: No such file or directory

 

  • 조치 
    • Linger=yes 설정 확인 
whoami
id
loginctl show-user $(whoami)
loginctl enable-linger $(whoami)
  • DBus 및 systemd user session 문제 해결
    • 모든 네트워크 및 DNS 설정 삭제 & Podman 시스템 전체 초기화 
rm -rf ~/.config/containers/aardvark-dns
rm -rf ~/.local/share/containers/networks
podman system reset

 

Podman의 스토리지 경로를 변경

  • 현재 podman 스토리지 설정 경로 확인 및 변경 
mkdir /nvme/podman_storage/run
mkdir /nvme/podman_storage/lib
vi /etc/containers/storage.conf
[storage]
driver = "overlay"
# Temporary storage location
#runroot = "/run/containers/storage"
runroot = "/nvme/podman_storage/run"
#graphroot = "/var/lib/containers/storage"
graphroot = "/nvme/podman_storage/lib"
sudo systemctl stop podman
sudo mv /var/lib/containers/storage /nvme/podman_storage/lib
sudo mv /var/run/containers/storage /nvme/podman_storage/run
sudo systemctl start podman
728x90
반응형

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

[podman] podman 에러 발생 및 해결 방법  (0) 2025.04.02
728x90
반응형

Docker 명령 수행시 에러 발생 

  • 도커를 사용 하면서 발생한 문제에 대해 해결 방법에 대한 기록 입니다. 

! no space left on device 에러

에러 내용

ERROR: failed to solve: failed to copy files: userspace copy failed: write /var/lib/docker/overlay2/
83-20240716084622.tar.gz: no space left on device
  • Docker 빌드 과정에서 파일을 복사하는 도중  발생하는 문제로 시스템 디스크 공간 부족 문제로 발생 할수 있습니다. 
  • 에러 발생 디렉 토리로 이동하여 사용현황 확인후 디스크를 정리 합니다. 

해결 방법1

docker system prune -a --volumes
  • 사용하지 않는 Docker 이미지, 컨테이너, 네트워크, 볼륨 등을 삭제하여 공간을 확보합니다.
  • 아래 그림처럼 docker system prune 명령을 수행한후 디스크 용량이 확보 되었습니다. 
    • 단 중지된 컨테이너, 사용하지 않는 이미지, 네트워크, 볼륨을 삭제 하기때문에 사용하는 생성해둔 모든  Docker image 가 삭제 될수 있습니다. 

 

 

해결방법2(추천)

  • Docker 디렉터리 위치 변경
  • /etc/docker/daemon.json 파일을 수정한후 여유있는 디스크로 Docker 디렉토리를 변경 합니다. 
  • vi /etc/docker/daemon.json 
{
"data-root": "/home/docker-directory"
}
  • 이후 Docker 를 재기동 합니다. 
systemctl restart docker

 

728x90
반응형

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

[docker-compose] docker-compose 란?  (1) 2022.04.05
Docker 설치  (0) 2022.03.20
자주 사용하는 Docker 명령어  (0) 2022.03.18
사용자 계정에서 Docker Command 사용 방법  (0) 2022.02.22
728x90
반응형

Docker Trouble Shuting Guide 

Docker 사용시 발생한 문제 및 해결책들에 대해 공유 하도록 하겠습니다. 

 

  • 문제 : ERROR: Failed to Setup IP tables 에러 
  • 해결책 : systemctl restart docker.service
$ docker-compose up                                
Creating network "dblink_default" with the default driver
ERROR: Failed to Setup IP tables: Unable to enable SKIP DNAT rule:  (iptables failed: iptables --wait -t nat -I DOCKER -i br-b50eacddd935 -j RETURN: iptables: No chain/target/match by that name.
 (exit status 1))

$ systemctl restart docker.service

$ systemctl status  docker.service
* docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
   Active: active (running) since 화 2022-04-12 12:07:44 KST; 7min ago
     Docs: https://docs.docker.com
 Main PID: 20828 (dockerd)
    Tasks: 11
   Memory: 83.8M
   CGroup: /system.slice/docker.service
           `-20828 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock --data-root=/data300G/docker-image
728x90
반응형
728x90
반응형

docker-compose 란? 

여러개의 컨테이너가 유기적으로 묶여서 하느의 어플리케이션으로서 동작이 필요할경우 유용하게 사용할수 있는기능입니다. 

 

예를 들어 웹 어플리케이션을 서비스 한다고 했을 때  서비스가 실행되기 위해서는 웹서버(Apache, IIS, Nginx )와 Database(Oralce,Tibero,Mysql,posgressSql) 컨테이너를 생성해야 합니다. 

 

Docker 로 해당 서비스를 수행한다고 하면 아래와 같이 매번 docker run  옵션을 설정해 CLI(Commnad Line Interface) 컨테이너를 생성 해야 합니다. 

docker-compose 는 이런 번거로움을 해결하기 위해 여러 컨테이너를 하나의 서비스로 묶어 다룰수 있도록 작업 환경을 제공합니다. 

 

1.Docker 를 통한 웹 서비스 컨테이너 생성 방법

# Mysql 컨테이너 생성 
$ docker run --name mysql-container -e MYSQL_ROOT_PASSWORD=<password> -d -p 3306:3306 mysql:latest

#Apach 컨테이너 생성 
$ docker run -d --name apache -p 8080:80 httpd

 

2.docker-compose (docker-compose.yml)를 이용한 웹 서비스 컨테이너 생성 

docker-compose 사용 방법

위 그림 처럼 도커 컴포즈는 docker-compose.yml 에 서비스할 컨테이너를 정의 하고 묶음으로 관리 할수 있다.

  • docker-compose.yml
    • version :YAML 파일 포맷 버전을 나타냅니다. 
    • service : 생성될 컨테이너들의 묶음을 나타냅니다. 
    • apach, mysql : 생성할 서비스 이름입니다. 
version: "3.8"
services:
   apache:
    build: './apache/'
    depends_on:
      - mysql
    networks:
      - frontend
      - backend
    ports:
      - "8080:80"
    volumes:
      - ./public_html/:/var/www/html/
  mysql:
    image: mysql:5.6.40
    networks:
      - backend
    environment:
      - MYSQL_ROOT_PASSWORD=rootpassword
networks:
  frontend:
  backend:

 

 

3.docker-compose  와 Docker 호환성 메트릭스 

도커컴포즈는 yml 파일로 컨테이너 구성하는데 사용하는 도커 버전에 따라 도커 컴포즈 버전을 맞춰서 사용해야 한다. 

현재 도커 컴포즈 버전은 3.9 버전까지 릴리즈 되어 있습니다. 

아래표는 도커 컴포즈 와 호환되는 도커 버전에대한 호환성 메트릭스 표입니다. 

 

Docker and Docker-compose&nbsp;compatibility matrix

 

https://docs.docker.com/compose/compose-file/compose-file-v3/

 

Compose file version 3 reference

 

docs.docker.com

 

728x90
반응형
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
반응형
728x90
반응형

Ubuntu Repository update

sudo apt-get update
sudo apt-get install \
ca-certificates \
curl \
gnupg \
lsb-release
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

Docker Engine 설치

sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io
#  sudo apt-get install docker-ce docker-ce-cli containerd.io
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:
  docker-ce-rootless-extras docker-scan-plugin git git-man liberror-perl pigz slirp4netns
Suggested packages:
  aufs-tools cgroupfs-mount | cgroup-lite git-daemon-run | git-daemon-sysvinit git-doc git-el git-email git-gui gitk gitweb git-cvs git-mediawiki git-svn
The following NEW packages will be installed:
  containerd.io docker-ce docker-ce-cli docker-ce-rootless-extras docker-scan-plugin git git-man liberror-perl pigz slirp4netns
0 upgraded, 10 newly installed, 0 to remove and 23 not upgraded.
Need to get 104 MB of archives.
After this operation, 448 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 https://download.docker.com/linux/ubuntu focal/stable amd64 containerd.io amd64 1.5.10-1 [24.9 MB]
..... 중략
Setting up git (1:2.25.1-1ubuntu3.2) ...
Processing triggers for man-db (2.9.1-1) ...
Processing triggers for systemd (245.4-4ubuntu3.15) ...

Docker Version 선택 설치 

도커는 버전별로 선택해서 설치를 진행 할수 있습니다. 

설치 가능 버전 확인후 선택해서 설치를 진행하면 됩니다. 

설치 버전 확인 

apt-cache madison docker-ce
 docker-ce | 5:20.10.13~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
 docker-ce | 5:20.10.12~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
 docker-ce | 5:20.10.11~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
 docker-ce | 5:20.10.10~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
 docker-ce | 5:20.10.9~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
 docker-ce | 5:20.10.8~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
 docker-ce | 5:20.10.7~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
 docker-ce | 5:20.10.6~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
 docker-ce | 5:20.10.5~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
 docker-ce | 5:20.10.4~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
 docker-ce | 5:20.10.3~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
 docker-ce | 5:20.10.2~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
 docker-ce | 5:20.10.1~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
 docker-ce | 5:20.10.0~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
 docker-ce | 5:19.03.15~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
 docker-ce | 5:19.03.14~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
 docker-ce | 5:19.03.13~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
 docker-ce | 5:19.03.12~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
 docker-ce | 5:19.03.11~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
 docker-ce | 5:19.03.10~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
 docker-ce | 5:19.03.9~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu focal/stable amd64 Packages

Docker 버전 선택 설치 

#sudo apt-get install docker-ce=<VERSION_STRING> docker-ce-cli=<VERSION_STRING> containerd.io
sudo apt-get install docker-ce=5:19.03.15~3-0~ubuntu-focal docker-ce-cli=5:19.03.15~3-0~ubuntu-focal containerd.io

Docker 중지/시작 명령어 

#도커 재시작
service docker restart
#도커 중지
service docker stop
#도커 시작
service docker start

Docker 상태 확인

docker ps -a
728x90
반응형

+ Recent posts