🌱 Infra/Container_Docker
[Docker-Basic (2)] 컨테이너 살짝 맛보기 :)
mini_world
2020. 9. 28. 11:35
이번 포스팅에서는 도커 맛보기 입니다.
전체적으로 쭉~ 따라가기만 하면 됩니다 :)
1. 컨테이너 생성하기
도커 이미지를 원격 레포지토리에서부터 가져옵니다.
[root@docker /]# docker pull mariadb
Using default tag: latest
latest: Pulling from library/mariadb
d72e567cc804: Pull complete
0f3630e5ff08: Pull complete
b6a83d81d1f4: Pull complete
4bf2111ecf0e: Pull complete
9572d64978a0: Pull complete
bcc9953bffb3: Pull complete
de429570dda5: Pull complete
3652bc6ea9f9: Pull complete
6e4bf87041c8: Pull complete
9cb9bba22391: Pull complete
9de10906fc5c: Pull complete
2c3a798c7a1f: Pull complete
Digest: sha256:9d27dd15564ba13a8ffa93beee20b39b7c14218c47ea296c6e11878a77962d12
Status: Downloaded newer image for mariadb:latest
docker.io/library/mariadb:latest
이미지가 잘 가져와졌는지 확인합니다.
[root@docker /]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
mariadb latest 41fa9265d4df 2 days ago 406MB
이제 이 이미지로 컨테이너를 만들어 실행해보겠습니다.
[root@docker /]# docker run --name mariadb-basic -e MYSQL_USER=user -e MYSQL_PASSWORD=P@ssw0rd -e MYSQL_DATABASE=testdb -e MYSQL_ROOT_PASSWORD=P@ssw0rd -d mariadb:latest
8a935d9f0125bbae7f6ca173b72e52bac3b82e71d2cb18ba420df7e68b8d1287
현재 실행중인 컨테이너를 확인합니다.
[root@docker /]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
8a935d9f0125 mariadb:latest "docker-entrypoint.s…" 26 minutes ago Up 26 minutes 3306/tcp mariadb-basic
실행중인 컨테이너에 Bash 쉘로 접속합니다
[root@docker /]# docker exec -it mariadb-basic /bin/bash
자, 이제 BashShell이 바뀌었죠? 정상적으로 접속된것입니다!
이제 컨테이너로 운영되고있는 Mysql 데이터베이스를 접속해보고 사용해보도록 하겠습니다.
root@8a935d9f0125:/# mysql -uroot -p
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 4
Server version: 10.5.5-MariaDB-1:10.5.5+maria~focal mariadb.org binary distribution
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| testdb |
+--------------------+
4 rows in set (0.000 sec)
MariaDB [(none)]> use testdb
Database changed
MariaDB [testdb]> show tables;
Empty set (0.000 sec)
MariaDB [testdb]> create table Project(id int(11) not null, name varchar(255) default null, code varchar(255) default null, primary key(id));
Query OK, 0 rows affected (0.005 sec)
MariaDB [testdb]> show tables;
+------------------+
| Tables_in_testdb |
+------------------+
| Project |
+------------------+
1 row in set (0.000 sec)
MariaDB [testdb]> insert into Project (id,name,code) values(1,'test','test_code');
Query OK, 1 row affected (0.002 sec)
MariaDB [testdb]> select * from Project;
+----+------+-----------+
| id | name | code |
+----+------+-----------+
| 1 | test | test_code |
+----+------+-----------+
1 row in set (0.000 sec)
2. 컨테이너 삭제하기
먼저 삭제하기 전 컨테이너의 상태를 확인해봅시다.
ID가 8a935d9f0125 인 컨테이너가 하나 실행중이네요 :)
[root@docker /]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
8a935d9f0125 mariadb:latest "docker-entrypoint.s…" About an hour ago Up About an hour 3306/tcp mariadb-basic
이 컨테이너를 중지하고 상태를 확인합니다.
[root@docker /]# docker stop mariadb-basic
mariadb-basic
[root@docker /]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
8a935d9f0125 mariadb:latest "docker-entrypoint.s…" About an hour ago Exited (0) 6 seconds ago mariadb-basic
이제 이 컨테이너를 삭제하고 상태를 확인합니다.
운영중인 컨테이너가 더이상 존재하지 않습니다.
[root@docker /]# docker rm mariadb-basic
mariadb-basic
[root@docker /]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
운영중인 컨테이너는 모두 삭제되었으나, 이미지는 남아있습니다.
아래 명령어로 이미지 목록을 확인할 수 있습니다.
[root@docker /]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
mariadb latest 41fa9265d4df 2 days ago 406MB
이미지를 삭제합니다 :)
[root@docker /]# docker rmi 41fa9265d4df
Untagged: mariadb:latest
Untagged: mariadb@sha256:9d27dd15564ba13a8ffa93beee20b39b7c14218c47ea296c6e11878a77962d12
Deleted: sha256:41fa9265d4dfb214f0a79ee919392687d09babc3522df21fce946292f9c8149c
Deleted: sha256:fda5c4c21a6b9140242f0d3cfab08c000562528e7569c17ea7688ef1ff66ddcc
Deleted: sha256:d02f487d8a494b36feb2be89182f36f0767fd9343ff2d4f1864813f38e8c2156
Deleted: sha256:9d10f0ce816160514f9382ef9f6065cc5065b3927361337f51e7088931d63930
Deleted: sha256:11ba4bb93a17a1202790f36ec8258a757e2c7fb84f4d307b7e566490f3833d5e
Deleted: sha256:66bd5c2284fb975e1fabc129017f1f7bcd20431d60422fcc21c1d0bfb8e3cf90
Deleted: sha256:717ead24598322b0e93cda5ea93c23f11908949d1520c50af1a77b92a305f9ab
Deleted: sha256:7a377427410270184528b5d75c9fd4d77236f97b2cb7eeecb44215173709b019
Deleted: sha256:e63a805a006f84a5df49f3f458218df6c45b56dbd02fe0c4188d86d1cf4e85ce
Deleted: sha256:5d5e44eeff1c04f804a965d24ac1fbedcb6f33a9df7a57f48f4d4ffd8be80caa
Deleted: sha256:69ea0ba6086b4837bc259353a9dec7e6f7bcc9b8297b0f722387a114697e5691
Deleted: sha256:923b52e8276c042a8602849149a284ae77cccf4c688cc4284bf01ec9669a6e6c
Deleted: sha256:d42a4fdf4b2ae8662ff2ca1b695eae571c652a62973c1beb81a296a4f4263d92
이제 이미지까지 깔끔하게 지워졌습니다 :)
[root@docker /]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
728x90