Docker란? 컨테이너 기반의 오픈소스 가상화 플랫폼입니다. 쉽게 말하면 OS와 격리된 가상화된 경량 컨테이너입니다.
도커허브 이미지와 docker-compose.yml의 설정으로 프로그램을 편안하게 설치할 수 있습니다.
하나의 서버(로컬호스트)에 포트만 변경해서 동일한 프로그램을 실행할 수 있습니다.
다음 링크를 통해 Docker 설치
Docker 엔진 설치 : 링크
Docker Compose 설치 : 링크
1. "docker search ubuntu"를 통해 이미지를 검색합니다.
docker search ubuntu
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
ubuntu Ubuntu is a Debian-based Linux operating sys… 15514 [OK]
websphere-liberty WebSphere Liberty multi-architecture images … 291 [OK]
ubuntu-upstart DEPRECATED, as is Upstart (find other proces… 112 [OK]
neurodebian NeuroDebian provides neuroscience research s… 98 [OK]
ubuntu/nginx Nginx, a high-performance reverse proxy & we… 75
open-liberty Open Liberty multi-architecture images based… 56 [OK]
ubuntu/apache2 Apache, a secure & extensible open-source HT… 53
ubuntu-debootstrap DEPRECATED; use "ubuntu" instead 50 [OK]
ubuntu/squid Squid is a caching proxy for the Web. Long-t… 50
ubuntu/bind9 BIND 9 is a very flexible, full-featured DNS… 45
ubuntu/mysql MySQL open source fast, stable, multi-thread… 41
ubuntu/prometheus Prometheus is a systems and service monitori… 35
ubuntu/postgres PostgreSQL is an open source object-relation… 23
ubuntu/kafka Apache Kafka, a distributed event streaming … 21
ubuntu/redis Redis, an open source key-value store. Long-… 16
ubuntu/prometheus-alertmanager Alertmanager handles client alerts from Prom… 8
ubuntu/dotnet-deps Chiselled Ubuntu for self-contained .NET & A… 6
ubuntu/grafana Grafana, a feature rich metrics dashboard & … 6
ubuntu/memcached Memcached, in-memory keyvalue store for smal… 5
ubuntu/zookeeper ZooKeeper maintains configuration informatio… 5
ubuntu/dotnet-runtime Chiselled Ubuntu runtime image for .NET apps… 5
ubuntu/telegraf Telegraf collects, processes, aggregates & w… 4
ubuntu/cortex Cortex provides storage for Prometheus. Long… 3
ubuntu/dotnet-aspnet Chiselled Ubuntu runtime image for ASP.NET a… 3
ubuntu/cassandra Cassandra, an open source NoSQL distributed … 2
2. "docker pull ubuntu"를 통해 이미지를 받아옵니다.
(저는 이미 있기때문에 다음과 같은 결과물이 나옵니다. 다른분들은 다른 로그가 출력될 것입니다.)
~$ docker pull ubuntu
Using default tag: latest
latest: Pulling from library/ubuntu
Digest: sha256:27cb6e6ccef575a4698b66f5de06c7ecd61589132d5a91d098f7f3f9285415a9
Status: Image is up to date for ubuntu:latest
docker.io/library/ubuntu:latest
3. "docker create -it --name test_ubuntu ubuntu" 명령어를 실행합니다.
ubuntu 이미지를 가지고 이름이 test_ubuntu인 컨테이너를 생성합니다.
docker create -it --name test_ubuntu ubuntu
88f74c1cc608752f7109aae95a33997467e73a79ab65f7547ec92811d985ab70
4. test_ubuntu Docker 컨테이너를 시작합니다.
test_ubuntu라는 이름의 컨테이너를 시작합니다.
docker start test_ubuntu
test_ubuntu
5. 실행중인 컨테이너 목록을 확인함
다음과 같이 실행중인 Docker 컨테이너 목록을 볼 수 있습니다.
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
88f74c1cc608 ubuntu "bash" About a minute ago Up 46 seconds test_ubuntu
19ce643be0fd ubuntu "bash" 4 hours ago Up 4 hours con_ubuntu2
45afb3975ffe ubuntu "bash" 3 days ago Up 4 hours con_ubuntu
이외에 실행중이지 않은 Docker 컨테이너는 다음 명령을 통해 확인할 수 있습니다.
docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
88f74c1cc608 ubuntu "bash" 2 minutes ago Up About a minute test_ubuntu
5f5b31c06210 c259f103002e "/bin/sh -c 'apt-get…" 2 hours ago Exited (100) 2 hours ago hopeful_hellman
19ce643be0fd ubuntu "bash" 4 hours ago Up 4 hours con_ubuntu2
5382dd86b081 cf15fcac8b1e "/bin/sh -c yarn" 40 hours ago Exited (1) 40 hours ago youthful_golick
45afb3975ffe ubuntu "bash" 3 days ago Up 4 hours con_ubuntu
a6b1b21c91cc node_test/node-web-app "docker-entrypoint.s…" 3 weeks ago Exited (255) 3 weeks ago 0.0.0.0:49160->8080/tcp, :::49160->8080/tcp blissful_rubin
4f4036be26c6 sebcontents/client "/docker-entrypoint.…" 3 weeks ago Exited (0) 3 hours ago client
c3be6bc84e22 mysql:latest "docker-entrypoint.s…" 3 weeks ago Exited (0) 3 hours ago database
57348ee227d9 sebcontents/server "docker-entrypoint.s…" 3 weeks ago Exited (1) 3 hours ago server
9d5136869f38 my_pacman:2.0 "httpd-foreground" 3 weeks ago Exited (0) 3 weeks ago my_web3
5529919f512f my_pacman1.0:latest "httpd-foreground" 3 weeks ago Exited (0) 3 weeks ago myweb2
b7c9dc2f0fbc httpd "httpd-foreground" 3 weeks ago Exited (0) 3 weeks ago packman
7ac290e3a24e hello-world "/hello" 3 weeks ago Exited (0) 3 weeks ago sharp_gates
5e92c924f68d hello-world "/hello" 3 weeks ago Exited (0) 3 weeks ago strange_dubinsky
6. 실행중인 Docker 컨테이너를 현재 터미널에서 연결하기.
그럼 다음과 같은 명령어로 연결하면 root@"88f74c1cc608"라고 나오는데요
자세히 보시면 이 "88f74c1cc608" 문자열 값은 Docker Container ID 값입니다.
docker attach test_ubuntu
root@88f74c1cc608:/#
root@88f74c1cc608:/#
root@88f74c1cc608:/# pwd
/
7. 컨테이너 셋팅 후 다음의 패키지들을 설치하시면 됩니다.
apt update -y && apt install -y software-properties-common
add-apt-repository ppa:ethereum/ethereum
apt-get install vim -y
apt update -y && apt install geth
apt-get install git -y
git clone https://github.com/ethereum/go-ethereum
apt-get install -y build-essential golang
geth version
geth version 결과값
geth version
Geth
Version: 1.10.26-stable
Git Commit: e5eb32acee19cc9fca6a03b10283b7484246b15a
Architecture: amd64
Go Version: go1.18.5
Operating System: linux
GOPATH=
GOROOT=go
EVM (Ethereum Virtual Machine) (0) | 2023.02.06 |
---|---|
Ethereum(이더리움) (0) | 2023.02.06 |
로컬에서 두개의 노드 연결 (PoW 버전 geth) (0) | 2023.02.04 |
Geth 트랜잭션 생성과 채굴 (PoW 버전 geth) (0) | 2023.02.04 |
Geth 계정 생성과 채굴 (PoW버전의 geth) (0) | 2023.02.04 |