“Docker" First Try (1)

■Environments
\<AWS>
EC2:t2.micro

\<Instelled Docker version>

```console
$ docker version
Client:
 Version:           18.06.1-ce
 API version:       1.38
 Go version:        go1.10.3
 Git commit:        e68fc7a215d7133c34aa18e3b72b4a21fd0c6136
 Built:             Mon Jul  1 18:51:44 2019
 OS/Arch:           linux/amd64
 Experimental:      false

Server:
 Engine:
  Version:          18.06.1-ce
  API version:      1.38 (minimum version 1.12)
  Go version:       go1.10.3
  Git commit:       e68fc7a/18.06.1-ce
  Built:            Mon Jul  1 18:53:20 2019
  OS/Arch:          linux/amd64
  Experimental:     false//

$ docker-compose version
docker-compose version 1.24.1, build 4667896b
docker-py version: 3.7.3
CPython version: 3.6.8
OpenSSL version: OpenSSL 1.1.0j  20 Nov 2018
```

■Let's TRY

(1)Pull Ubuntu(ubuntu:16.04) images from repository
*"Pull" command will download images from Docker repository

```console
$ docker pull ubuntu:16.04
16.04: Pulling from library/ubuntu
f7277927d38a: Pull complete 
8d3eac894db4: Pull complete 
edf72af6d627: Pull complete 
3e4f86211d23: Pull complete 
Digest: sha256:97b54e5692c27072234ff958a7442dde4266af21e7b688e7fca5dc5acc8ed7d9
Status: Downloaded newer image for ubuntu:16.04
```

(2)Create Container @ bash from images

```console
$ docker run -d -it ubuntu:16.04 bash
```
Confirmed containor by "ps" command
*"ps" will show all container at docker host

```console
$ docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED              STATUS              PORTS               NAMES
4173f3027999        ubuntu:16.04        "bash"              About a minute ago   Up About a minute                       dreamy_elion
```

(3)Run & modify existed container

```console
$ docker exec -it 4173f3027999 bash
root@4173f3027999:/# apt-get update && apt-get install -y php
```

(4)Created new image from "commit",then added tag

```console
$ docker commit  4173f3027999
sha256:f669c3195c60707a2ade86107f3f3a4a01aac99f41dbe55b3396037167734bb2
$ docker tag f669c3195c607 sampledocker
$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED              SIZE
sampledocker        latest              f669c3195c60        About a minute ago   203MB
ubuntu              16.04               5e13f8dd4c1a        10 days ago          120MB
```

(4)Copy local file to Docker Container

```console
$ touch samplefile
$ docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
4173f3027999        ubuntu:16.04        "bash"              17 minutes ago      Up 17 minutes                           dreamy_elion
$ docker cp samplefile 4173f3027999:/
$ docker exec 4173f3027999 bash -c 'ls -al /'
total 4
drwxr-xr-x   1 root root  102 Aug  3 10:32 .
drwxr-xr-x   1 root root  102 Aug  3 10:32 ..
-rwxr-xr-x   1 root root    0 Aug  3 10:14 .dockerenv
drwxr-xr-x   1 root root   19 Aug  3 10:20 bin
drwxr-xr-x   2 root root    6 Apr 12  2016 boot
drwxr-xr-x   5 root root  360 Aug  3 10:14 dev
drwxr-xr-x   1 root root 4096 Aug  3 10:20 etc
drwxr-xr-x   2 root root    6 Apr 12  2016 home
drwxr-xr-x   1 root root   45 Sep 13  2015 lib
drwxr-xr-x   2 root root   34 Jul 20 13:50 lib64
drwxr-xr-x   2 root root    6 Jul 20 13:50 media
drwxr-xr-x   2 root root    6 Jul 20 13:50 mnt
drwxr-xr-x   2 root root    6 Jul 20 13:50 opt
dr-xr-xr-x 100 root root    0 Aug  3 10:14 proc
drwx------   1 root root   27 Aug  3 10:21 root
drwxr-xr-x   1 root root   21 Jul 20 13:50 run
-rw-rw-r--   1 1000 1000    0 Aug  3 10:31 samplefile
drwxr-xr-x   1 root root   21 Jul 23 15:22 sbin
drwxr-xr-x   2 root root    6 Jul 20 13:50 srv
dr-xr-xr-x  13 root root    0 Aug  3 10:14 sys
drwxrwxrwt   1 root root    6 Aug  3 10:19 tmp
drwxr-xr-x   1 root root   66 Jul 20 13:50 usr
drwxr-xr-x   1 root root   41 Jul 20 13:51 var
```
(5)Stop container

```console
$ docker stop 4173f3027999
4173f3027999
$ docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
```

*`ps -a` will show stopped container

```console
$ docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                      PORTS               NAMES
4173f3027999        ubuntu:16.04        "bash"              20 minutes ago      Exited (0) 32 seconds ago                       dreamy_elion
```