DEVOPS GURU

================================================================= Issue Error while connecting through SSH (Putty or Winscp), following...


=================================================================

Issue
Error while connecting through SSH (Putty or Winscp), following errors can be seen in /var/log/messages:
Raw
Sep 15 16:25:40 hostname sshd[17397]: error: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Sep 15 16:25:40 hostname sshd[17397]: error: @ WARNING: UNPROTECTED PRIVATE KEY FILE!  @
Sep 15 16:25:40 hostname sshd[17397]: error: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Sep 15 16:25:40 hostname sshd[17397]: error: Permissions 0777 for '/etc/ssh/ssh_host_dsa_key' are too open.
Sep 15 16:25:40 hostname sshd[17397]: error: It is recommended that your private key files are NOT accessible by others.
Sep 15 16:25:40 hostname sshd[17397]: error: This private key will be ignored.
Sep 15 16:25:40 hostname sshd[17397]: error: bad permissions: ignore key: /etc/ssh/ssh_host_dsa_key
Sep 15 16:25:40 hostname sshd[17397]: error: Could not load host key: /etc/ssh/ssh_host_dsa_key
Sep 15 16:25:40 hostname sshd[17397]: Disabling protocol version 2. Could not load host key
Sep 15 16:25:40 hostname sshd[17397]: sshd: no hostkeys available -- exiting.
Raw
Aug  7 08:02:15 hostname sshd[30600]: error: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Aug  7 08:02:15 hostname sshd[30600]: error: @         WARNING: UNPROTECTED PRIVATE KEY FILE!          @ 
Aug  7 08:02:15 hostname sshd[30600]: error: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Aug  7 08:02:15 hostname sshd[30600]: error: Permissions 0711 for '/etc/ssh/ssh_host_rsa_key' are too open.
Aug  7 08:02:15 hostname sshd[30600]: error: It is recommended that your private key files are NOT accessible by others.
Aug  7 08:02:15 hostname sshd[30600]: error: This private key will be ignored.
Aug  7 08:02:15 hostname sshd[30600]: error: bad permissions: ignore key: /etc/ssh/ssh_host_rsa_key
Aug  7 08:02:16 hostname sshd[30600]: error: Could not load host key: /etc/ssh/ssh_host_rsa_key
Aug  7 08:02:16 hostname sshd[30600]: Disabling protocol version 1. Could not load host key

=============================================================================================================================

Resolution
1. Move the following files in /etc/ssh to another place, e.g. /root:

Raw
# cd /etc/ssh

# mv ssh_host_dsa_key ssh_host_dsa_key.pub ssh_host_key ssh_host_key.pub ssh_host_rsa_key ssh_host_rsa_key.pub /root
2. Restart the sshd service.

Raw
# service sshd restart
The sshd daemon will recreate new ssh rsa,dsa,rsa1 keys.

[root@node2 sample-project6]# docker-compose images Container   Repository   Tag   Image Id   Size --------------------------------------...

[root@node2 sample-project6]# docker-compose images
Container   Repository   Tag   Image Id   Size
----------------------------------------------
[root@node2 sample-project6]# docker-compose up -d
Creating sampleproject6_wepapp1_1 ... done
Creating sampleproject6_wepapp2_1 ... done

[root@node2 sample-project6]# docker container ls
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                  NAMES
7bb3f287740a        nginx               "nginx -g 'daemon of…"   23 seconds ago      Up 21 seconds       0.0.0.0:8081->80/tcp   sampleproject6_wepapp2_1
86deb573d894        nginx               "nginx -g 'daemon of…"   23 seconds ago      Up 21 seconds       0.0.0.0:8082->80/tcp   sampleproject6_wepapp1_1
[root@node2 sample-project6]# docker-compose ps
          Name                   Command          State          Ports       
------------------------------------------------------------------------------
sampleproject6_wepapp1_1   nginx -g daemon off;   Up      0.0.0.0:8082->80/tcp
sampleproject6_wepapp2_1   nginx -g daemon off;   Up      0.0.0.0:8081->80/tcp



[root@node2 sample-project6]# docker-compose pause
Pausing sampleproject6_wepapp1_1 ... done
Pausing sampleproject6_wepapp2_1 ... done
[root@node2 sample-project6]# docker-compose ps
          Name                   Command          State           Ports       
-------------------------------------------------------------------------------
sampleproject6_wepapp1_1   nginx -g daemon off;   Paused   0.0.0.0:8082->80/tcp
sampleproject6_wepapp2_1   nginx -g daemon off;   Paused   0.0.0.0:8081->80/tcp
[root@node2 sample-project6]#

[root@node2 sample-project6]# docker-compose unpause
Unpausing sampleproject6_wepapp2_1 ... done
Unpausing sampleproject6_wepapp1_1 ... done
[root@node2 sample-project6]# docker-compose ps
          Name                   Command          State          Ports       
------------------------------------------------------------------------------
sampleproject6_wepapp1_1   nginx -g daemon off;   Up      0.0.0.0:8082->80/tcp
sampleproject6_wepapp2_1   nginx -g daemon off;   Up      0.0.0.0:8081->80/tcp
[root@node2 sample-project6]#


[root@node2 sample-project6]# docker-compose ps
          Name                   Command          State          Ports       
------------------------------------------------------------------------------
sampleproject6_wepapp1_1   nginx -g daemon off;   Up      0.0.0.0:8082->80/tcp
sampleproject6_wepapp2_1   nginx -g daemon off;   Up      0.0.0.0:8081->80/tcp
[root@node2 sample-project6]#
[root@node2 sample-project6]#
[root@node2 sample-project6]# docker-compose kill
Killing sampleproject6_wepapp2_1 ... done
Killing sampleproject6_wepapp1_1 ... done
[root@node2 sample-project6]# docker-compose ps
          Name                   Command           State     Ports
------------------------------------------------------------------
sampleproject6_wepapp1_1   nginx -g daemon off;   Exit 137       
sampleproject6_wepapp2_1   nginx -g daemon off;   Exit 137       
[root@node2 sample-project6]#

[root@node2 sample-project6]# docker-compose start
Starting wepapp1 ... done
Starting wepapp2 ... done
[root@node2 sample-project6]#
[root@node2 sample-project6]#
[root@node2 sample-project6]# docker-compose ps
          Name                   Command          State          Ports       
------------------------------------------------------------------------------
sampleproject6_wepapp1_1   nginx -g daemon off;   Up      0.0.0.0:8082->80/tcp
sampleproject6_wepapp2_1   nginx -g daemon off;   Up      0.0.0.0:8081->80/tcp
[root@node2 sample-project6]#


[root@node2 sample-project6]# docker-compose port wepapp1 80
0.0.0.0:8082
[root@node2 sample-project6]#

[root@node2 sample-project6]# docker-compose logs
Attaching to sampleproject6_wepapp2_1, sampleproject6_wepapp1_1
[root@node2 sample-project6]# docker-compose logs -f
Attaching to sampleproject6_wepapp2_1, sampleproject6_wepapp1_1
wepapp2_1  | 2020/01/16 12:49:27 [error] 6#6: *1 open() "/usr/share/nginx/html/favicon.ico" failed (2: No such file or directory), client: 10.25.214.125, server: localhost, request: "GET /favicon.ico HTTP/1.1", host: "10.25.214.132:8081", referrer: "http://10.25.214.132:8081/"
wepapp2_1  | 10.25.214.125 - - [16/Jan/2020:12:49:27 +0000] "GET /favicon.ico HTTP/1.1" 404 555 "http://10.25.214.132:8081/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36" "-"


[root@node2 sample-project6]# docker-compose exec wepapp1 ls
bin   dev  home  lib64 mnt  proc  run srv  tmp  var
boot  etc  lib media opt  root  sbin  sys  usr

[root@node2 sample-project6]# docker-compose exec wepapp2 ls
bin   dev  home  lib64 mnt  proc  run srv  tmp  var
boot  etc  lib media opt  root  sbin  sys  usr
[root@node2 sample-project6]#

[root@node2 sample-project6]# docker-compose run wepapp1 ls
bin   dev  home  lib64 mnt  proc  run srv  tmp  var
boot  etc  lib media opt  root  sbin  sys  usr
[root@node2 sample-project6]#


[root@node2 sample-project6]# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                  NAMES
7bb3f287740a        nginx               "nginx -g 'daemon of…"   12 minutes ago      Up 8 minutes        0.0.0.0:8081->80/tcp   sampleproject6_wepapp2_1
86deb573d894        nginx               "nginx -g 'daemon of…"   12 minutes ago      Up 8 minutes        0.0.0.0:8082->80/tcp   sampleproject6_wepapp1_1
[root@node2 sample-project6]#
[root@node2 sample-project6]# docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                      PORTS                  NAMES
7fac18d212ef        nginx               "ls"                     27 seconds ago      Exited (0) 27 seconds ago                          sampleproject6_wepapp1_run_1
7bb3f287740a        nginx               "nginx -g 'daemon of…"   12 minutes ago      Up 9 minutes                0.0.0.0:8081->80/tcp   sampleproject6_wepapp2_1
86deb573d894        nginx               "nginx -g 'daemon of…"   12 minutes ago      Up 9 minutes                0.0.0.0:8082->80/tcp   sampleproject6_wepapp1_1
[root@node2 sample-project6]#

[root@node2 sample-project6]# docker-compose restart
Restarting sampleproject6_wepapp2_1 ... done
Restarting sampleproject6_wepapp1_1 ... done
[root@node2 sample-project6]#
[root@node2 sample-project6]# docker-compose pull
[root@node2 sample-project6]# docker-compose imgaes


[root@node2 sample-project6]# docker-compose scale wepapp1=4 wepapp2=2
WARNING: The scale command is deprecated. Use the up command with the --scale flag instead.
Starting sampleproject6_wepapp1_1 ... done
Creating sampleproject6_wepapp1_2 ... done
Creating sampleproject6_wepapp1_3 ... done
Creating sampleproject6_wepapp1_4 ... done
Starting sampleproject6_wepapp2_1 ... done
Creating sampleproject6_wepapp2_2 ... done
[root@node2 sample-project6]# docker-compose ps
          Name                   Command          State   Ports
----------------------------------------------------------------
sampleproject6_wepapp1_1   nginx -g daemon off;   Up      80/tcp
sampleproject6_wepapp1_2   nginx -g daemon off;   Up      80/tcp
sampleproject6_wepapp1_3   nginx -g daemon off;   Up      80/tcp
sampleproject6_wepapp1_4   nginx -g daemon off;   Up      80/tcp
sampleproject6_wepapp2_1   nginx -g daemon off;   Up      80/tcp
sampleproject6_wepapp2_2   nginx -g daemon off;   Up      80/tcp
[root@node2 sample-project6]#

[root@node2 sample-project6]# docker-compose down
Stopping sampleproject6_wepapp2_2 ... done
Stopping sampleproject6_wepapp1_3 ... done
Stopping sampleproject6_wepapp1_2 ... done
Stopping sampleproject6_wepapp1_4 ... done
Stopping sampleproject6_wepapp2_1 ... done
Stopping sampleproject6_wepapp1_1 ... done
Removing sampleproject6_wepapp2_2     ... done
Removing sampleproject6_wepapp1_3     ... done
Removing sampleproject6_wepapp1_2     ... done
Removing sampleproject6_wepapp1_4     ... done
Removing sampleproject6_wepapp2_1     ... done
Removing sampleproject6_wepapp1_1     ... done
Removing sampleproject6_wepapp1_run_1 ... done
Removing network sampleproject6_default
[root@node2 sample-project6]#

[root@node2 sample-project6]# docker-compose up -d
Creating network "sampleproject6_default" with the default driver
Creating sampleproject6_wepapp1_1 ... done
Creating sampleproject6_wepapp2_1 ... done
[root@node2 sample-project6]# docker-compose top
sampleproject6_wepapp1_1
UID    PID    PPID   C   STIME   TTY     TIME                        CMD                   
--------------------------------------------------------------------------------------------
root   4504   4488   0   08:07   ?     00:00:00   nginx: master process nginx -g daemon off;
101    4610   4504   0   08:07   ?     00:00:00   nginx: worker process                   

sampleproject6_wepapp2_1
UID    PID    PPID   C   STIME   TTY     TIME                        CMD                   
--------------------------------------------------------------------------------------------
root   4540   4511   0   08:07   ?     00:00:00   nginx: master process nginx -g daemon off;
101    4627   4540   0   08:07   ?     00:00:00   nginx: worker process                   
[root@node2 sample-project6]#




[root@node2 sample-project6]# docker-compose create WARNING: The create command is deprecated. Use the up command with the --no-start flag...

[root@node2 sample-project6]# docker-compose create
WARNING: The create command is deprecated. Use the up command with the --no-start flag instead.
Creating sampleproject6_wepapp1_1 ... done
Creating sampleproject6_wepapp2_1 ... done
[root@node2 sample-project6]#

[root@node2 sample-project6]# docker-compose rm
Going to remove sampleproject6_wepapp2_1, sampleproject6_wepapp1_1
Are you sure? [yN] y
Removing sampleproject6_wepapp2_1 ... done
Removing sampleproject6_wepapp1_1 ... done
[root@node2 sample-project6]#


[root@node2 sample-project6]# docker-compose up --no-start
Creating network "sampleproject6_default" with the default driver
Creating sampleproject6_wepapp1_1 ... done
Creating sampleproject6_wepapp2_1 ... done
[root@node2 sample-project6]# docker network ls
NETWORK ID          NAME                     DRIVER              SCOPE
05ce50c0dda0        bridge                   bridge              local
b22e6d7fcb00        host                     host                local
652f2a01662d        none                     null                local
9f3708f11f98        sampleproject6_default   bridge              local
[root@node2 sample-project6]# docker container ls
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
[root@node2 sample-project6]# docker container ls -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS               NAMES
cbbd77c151da        nginx               "nginx -g 'daemon of…"   22 seconds ago      Created                                 sampleproject6_wepapp2_1
b96d8bf3ea24        nginx               "nginx -g 'daemon of…"   22 seconds ago      Created                                 sampleproject6_wepapp1_1
[root@node2 sample-project6]#

[root@node2 sample-project6]# docker-compose  start
Starting wepapp1 ... done
Starting wepapp2 ... done
[root@node2 sample-project6]# docker-compose  stop
Stopping sampleproject6_wepapp2_1 ... done
Stopping sampleproject6_wepapp1_1 ... done
[root@node2 sample-project6]#

[root@node2 sample-project6]# docker-compose rm
Going to remove sampleproject6_wepapp2_1, sampleproject6_wepapp1_1
Are you sure? [yN] y 
Removing sampleproject6_wepapp2_1 ... done
Removing sampleproject6_wepapp1_1 ... done
[root@node2 sample-project6]#
[root@node2 sample-project6]# docker container ls
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES


[root@node2 sample-project6]# docker network ls
NETWORK ID          NAME                     DRIVER              SCOPE
05ce50c0dda0        bridge                   bridge              local
b22e6d7fcb00        host                     host                local
652f2a01662d        none                     null                local
9f3708f11f98        sampleproject6_default   bridge              local
[root@node2 sample-project6]#





[root@node2 sample-project5]# cat docker-compose.yml version: '2' services:  database:    image: mysql:5.7    environment: ...

[root@node2 sample-project5]# cat docker-compose.yml
version: '2'

services:

 database:
   image: mysql:5.7
   environment:
     MYSQL_ROOT_PASSWORD: password

 wordpress:
    image: wordpress
    ports:
      - "8080:80"
    links:
      - database:mysql
    environment:
      WORDPRESS_DB_PASSWORD: password
===================================================================

[root@node2 sample-project6]# cat docker-compose.yml
version: '3'

services:
   wepapp1:
     image: nginx
     ports:
       - 8082:80
   wepapp2:
     image: nginx
     ports:
       - 8081:80

[root@node2 dockerfile-sample1]# mkdir dockerfile-sample2 [root@node2 dockerfile-sample1]# cd dockerfile-sample2/ [root@node2 dockerfile-...

[root@node2 dockerfile-sample1]# mkdir dockerfile-sample2
[root@node2 dockerfile-sample1]# cd dockerfile-sample2/
[root@node2 dockerfile-sample1]# ll -lrth
[root@node2 dockerfile-sample1]# vim Dockerfile
[root@node2 dockerfile-sample1]# vim index.html
[root@node2 dockerfile-sample1]# docker image build -t nginx-with-html .
[root@node2 dockerfile-sample1]# docker container run -p 80:80 --rm nginx-with-html

vim Dockerfile
FROM nginx:latest
WORKDIR /usr/share/nginx/html
COPY index.html index.html


===================================================================================

[root@node2 ~]# docker container run -d --name mysql -e MYSQL_ALLOW_EMPTY_PASSWORD=True mysql
[root@node2 ~]# docker container inspect mysql
[root@node2 ~]# docker volume ls
[root@node2 ~]# docker container run -d --name mysql2 -e MYSQL_ALLOW_EMPTY_PASSWORD=True -v mysql-db:/var/lib/mysql mysql
[root@node2 ~]# docker volume ls
DRIVER              VOLUME NAME
local               ac6eef37956b3d3db63f0ac8d8f7ff3a4b4ac140467d37dac4304e3d1113bbf1
local               mysql-db

[root@node2 ~]# docker volume inspect mysql-db
[
    {
        "CreatedAt": "2019-12-21T09:12:26-05:00",
        "Driver": "local",
        "Labels": null,
        "Mountpoint": "/var/lib/docker/volumes/mysql-db/_data",
        "Name": "mysql-db",
        "Options": null,
        "Scope": "local"
    }
]
[root@node2 ~]#
[root@node2 ~]# docker container inspect mysql2
[root@node2 ~]# docker volume create ravi
ravi
[root@node2 ~]# docker volume ls
DRIVER              VOLUME NAME
local               ac6eef37956b3d3db63f0ac8d8f7ff3a4b4ac140467d37dac4304e3d1113bbf1
local               mysql-db
local               ravi
[root@node2 ~]#

[root@node2 dockerfile-sample2]# docker container run -d --name nginx -p 80:80 -v $(pwd):/usr/share/nginx/html nginx
[root@node2 ~]# docker container run -d --name psql -v psql:/var/lib/postgresql/data postgres:9.6.1
[root@node2 ~]# docker container logs psql
[root@node2 ~]# docker container stop psql
[root@node2 ~]# docker container run -d --name psql2 -v psql:/var/lib/postgresql/data postgres:9.6.2
[root@node2 ~]# docker container logs psql2
[root@node2 ~]# docker run -p 80:4000 -v $(pwd):/site bretfirsher/jekyll-serve

[root@node2 ~]# docker container run -p 80:80 --name webhost -d nginx 6608c2fdab1ea4252d239341b96161b438d669dd3687ffed1d4504587f050ecf [r...

[root@node2 ~]# docker container run -p 80:80 --name webhost -d nginx
6608c2fdab1ea4252d239341b96161b438d669dd3687ffed1d4504587f050ecf
[root@node2 ~]#
[root@node2 ~]# docker container port webhost
80/tcp -> 0.0.0.0:80
[root@node2 ~]# docker container inspect --format '{{ .NetworkSettings.IPAddress }}' webhost
172.17.0.5
[root@node2 ~]#
[root@node2 ~]# docker network ls
NETWORK ID          NAME                DRIVER              SCOPE
a71c392d30d7        bridge              bridge              local
b22e6d7fcb00        host                host                local
652f2a01662d        none                null                local
[root@node2 ~]# docker network inspect bridge
[root@node2 ~]# docker network create my_app_net
[root@node2 ~]# docker container run -d --name new_nginx --network my_app_net nginx
195e2b4dc3d7522764f39623eda9be906ab22a262e461f9fa7df319b2c9f5413
[root@node2 ~]# docker network connect 74522dcf77e7 6608c2fdab1e
[root@node2 ~]# docker network disconnect 74522dcf77e7 6608c2fdab1e

[root@node2 ~]# docker container exec -it my_nginx /bin/bash
[root@node2 ~]# docker container exec -it my_nginx ping new_nginx


[root@node2 ~]# conatiner -d --net dude --net-alias search elasticsearch:2
[root@node2 ~]# docker conatiner run -d --net dude --net-alias search elasticsearch:2
[root@node2 ~]# docker container run -d --net dude --net-alias search elasticsearch:2
[root@node2 ~]# docker container ls
[root@node2 ~]# docker container run --rm --net dude alpine nslookup search
[root@node2 ~]# docker container run --rm --net dude centos curl -s search:9200

[root@node2 ~]# docker container run --publish 80:80 nginx [root@node2 ~]# docker container run --publish 80:80 --detach nginx [root@node...

[root@node2 ~]# docker container run --publish 80:80 nginx
[root@node2 ~]# docker container run --publish 80:80 --detach nginx
[root@node2 ~]# docker container run --publish 80:80 --detach --name webhost nginx
[root@node2 ~]# docker container logs webhost
[root@node2 ~]# docker container top webhost
[root@node2 ~]# docker container rm 1bd 4f9 d7a
[root@node2 ~]# docker container rm -f 1bd
[root@node2 ~]# docker run --name mongo -d mongo
[root@node2 ~]# docker top mongo
[root@node2 ~]# ps -aux |grep mongo
polkitd   3010  1.3  8.6 1576112 87776 ?       Ssl  08:41   0:00 mongod --bind_ip_all
root      3114  0.0  0.0 112660   972 pts/0    S+   08:42   0:00 grep --color=auto mongo
[root@node2 ~]# docker stop mongo
[root@node2 ~]# ps -aux |grep mongo
root      3158  0.0  0.0 112660   968 pts/0    R+   08:43   0:00 grep --color=auto mongo
[root@node2 ~]# docker start mongo
[root@node2 ~]# docker container run -d --name nginx nginx
[root@node2 ~]# docker container run -d --name mysql -e MYSQL_RANDOM_ROOT_PASSWORD=true mysql
[root@node2 ~]# docker container top mysql
UID                 PID                 PPID                C                   STIME               TTY                 TIME                CMD
polkitd             7599                7582                2                   08:57               ?                   00:00:01            mysqld
[root@node2 ~]# docker container top nginx
UID                 PID                 PPID                C                   STIME               TTY                 TIME                CMD
root                7462                7446                0                   08:54               ?                   00:00:00            nginx: master process nginx -g daemon off;
101                 7493                7462                0                   08:54               ?                   00:00:00            nginx: worker process
[root@node2 ~]#
[root@node2 ~]# docker container inspect mysql
[root@node2 ~]# docker container inspect nginx
[root@node2 ~]# docker container stats
CONTAINER ID        NAME                CPU %               MEM USAGE / LIMIT     MEM %               NET I/O             BLOCK I/O           PIDS
488be6106b2c        mysql               0.64%               369.7MiB / 992.4MiB   37.26%              648B / 0B           506MB / 966MB       38
58987bf1b3d3        nginx               0.00%               1.367MiB / 992.4MiB   0.14%               648B / 0B           0B / 0B             2
b1c486b813e1        mongo               0.27%               67.63MiB / 992.4MiB   6.81%               648B / 0B           34.9MB / 839kB      32

[root@node2 ~]# docker container run -it --name proxy nginx bash
[root@node2 ~]# docker container ls
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                 NAMES
488be6106b2c        mysql               "docker-entrypoint.s…"   7 minutes ago       Up 7 minutes        3306/tcp, 33060/tcp   mysql
58987bf1b3d3        nginx               "nginx -g 'daemon of…"   10 minutes ago      Up 10 minutes       80/tcp                nginx
b1c486b813e1        mongo               "docker-entrypoint.s…"   22 minutes ago      Up 20 minutes       27017/tcp             mongo
[root@node2 ~]# docker container ls -a
CONTAINER ID        IMAGE               COMMAND                  CREATED              STATUS                      PORTS                 NAMES
66636011299a        nginx               "bash"                   About a minute ago   Exited (0) 11 seconds ago                         proxy
488be6106b2c        mysql               "docker-entrypoint.s…"   7 minutes ago        Up 7 minutes                3306/tcp, 33060/tcp   mysql
58987bf1b3d3        nginx               "nginx -g 'daemon of…"   10 minutes ago       Up 10 minutes               80/tcp                nginx
b1c486b813e1        mongo               "docker-entrypoint.s…"   22 minutes ago       Up 20 minutes               27017/tcp             mongo
[root@node2 ~]#

[root@node2 ~]# docker container run -it --name ubuntu ubuntu
Unable to find image 'ubuntu:latest' locally
latest: Pulling from library/ubuntu
Digest: sha256:6e9f67fa63b0323e9a1e587fd71c561ba48a034504fb804fd26fd8800039835d
Status: Downloaded newer image for ubuntu:latest
root@44d60cf2443a:/#
root@44d60cf2443a:/# apt-get update
Get:1 http://security.ubuntu.com/ubuntu bionic-security InRelease [88.7 kB]
Get:2 http://archive.ubuntu.com/ubuntu bionic InRelease [242 kB]
Get:3 http://security.ubuntu.com/ubuntu bionic-security/universe amd64 Packages [795 kB]
Get:4 http://archive.ubuntu.com/ubuntu bionic-updates InRelease [88.7 kB]
Get:5 http://archive.ubuntu.com/ubuntu bionic-backports InRelease [74.6 kB]     
Get:6 http://archive.ubuntu.com/ubuntu bionic/main amd64 Packages [1344 kB]
Get:7 http://security.ubuntu.com/ubuntu bionic-security/main amd64 Packages [761 kB]
Get:8 http://security.ubuntu.com/ubuntu bionic-security/multiverse amd64 Packages [6781 B]
Get:9 http://security.ubuntu.com/ubuntu bionic-security/restricted amd64 Packages [19.2 kB]
Get:10 http://archive.ubuntu.com/ubuntu bionic/restricted amd64 Packages [13.5 kB]
Get:11 http://archive.ubuntu.com/ubuntu bionic/universe amd64 Packages [11.3 MB]
Get:12 http://archive.ubuntu.com/ubuntu bionic/multiverse amd64 Packages [186 kB]           
Get:13 http://archive.ubuntu.com/ubuntu bionic-updates/universe amd64 Packages [1322 kB]
Get:14 http://archive.ubuntu.com/ubuntu bionic-updates/multiverse amd64 Packages [10.5 kB]
Get:15 http://archive.ubuntu.com/ubuntu bionic-updates/restricted amd64 Packages [32.7 kB]
Get:16 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 Packages [1057 kB]
Get:17 http://archive.ubuntu.com/ubuntu bionic-backports/main amd64 Packages [2496 B]
Get:18 http://archive.ubuntu.com/ubuntu bionic-backports/universe amd64 Packages [4244 B]
Fetched 17.4 MB in 5s (3761 kB/s)                         
Reading package lists... Done
root@44d60cf2443a:/#
root@44d60cf2443a:/# apt-get install curl -y
root@44d60cf2443a:/# curl google.com
<HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8">
<TITLE>301 Moved</TITLE></HEAD><BODY>
<H1>301 Moved</H1>
The document has moved
<A HREF="http://www.google.com/">here</A>.
</BODY></HTML>
root@44d60cf2443a:/#

[root@node2 ~]# docker container start -ai ubuntu
root@44d60cf2443a:/# curl google.com
<HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8">
<TITLE>301 Moved</TITLE></HEAD><BODY>
<H1>301 Moved</H1>
The document has moved
<A HREF="http://www.google.com/">here</A>.
</BODY></HTML>
root@44d60cf2443a:/#
[root@node2 ~]# docker container  exec -it mysql bash

[root@node2 ~]# docker container ls
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                 NAMES
488be6106b2c        mysql               "docker-entrypoint.s…"   19 minutes ago      Up 19 minutes       3306/tcp, 33060/tcp   mysql
58987bf1b3d3        nginx               "nginx -g 'daemon of…"   22 minutes ago      Up 22 minutes       80/tcp                nginx
b1c486b813e1        mongo               "docker-entrypoint.s…"   34 minutes ago      Up 32 minutes       27017/tcp             mongo
[root@node2 ~]#
[root@node2 ~]# docker container run -it alpine bash
docker: Error response from daemon: OCI runtime create failed: container_linux.go:346: starting container process caused "exec: \"bash\": executable file not found in $PATH": unknown.
[root@node2 ~]# docker container run -it alpine sh
/ #