Docker 在Windows2016 /Ubuntu18.04中初体验基本命令,tomcat

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

前言

       Docker出生时就知道,开始感觉和虚拟机技术差不多,也参加过一、二次线下的研讨会,一直想在WINDOWS中使用,安装过1,2次都没有成功。

       最近2周才在WINDOWS2016中看了一下,也费尽九牛二虎之力才整成功地从阿里云上PULL了nanoserver.

       最近2天遇到Ubuntu18.04发布,成功在docker中运行了tomcat 。

 

Docker 在Windows 2016中

安装docker

 

Docker 在Windows2016 /Ubuntu18.04中初体验基本命令,tomcat_第1张图片

PULL 镜像

PS C:\Users\Administrator> docker pull microsoft/nanoserver
Using default tag: latest
latest: Pulling from microsoft/nanoserver
bce2fbc256ea: Pulling fs layer
83eec61707e8: Downloading
latest: Pulling from microsoft/nanoserver
bce2fbc256ea: Pull complete
83eec61707e8: Pull complete
Digest: sha256:59558bd57c0d14a4df5b827a676fb061abacefebfa2089038f018cf9eea17ecb
Status: Downloaded newer image for microsoft/nanoserver:latest

PS C:\Users\Administrator> docker image ls
REPOSITORY             TAG                 IMAGE ID            CREATED             SIZE
microsoft/nanoserver   latest              353592ac9faa        2 weeks ago         1.11GB


C:\>docker ps

CONTAINER ID        IMAGE                  COMMAND                    CREATED             STATUS              PORTS               NAMES

56aba97e04d7        microsoft/nanoserver   "c:\\windows\\system..."   12 minutes ago      Up 12 minutes                           quirky_archimedes

eb660699e41a        microsoft/nanoserver   "c:\\windows\\system..."   29 minutes ago      Up 29 minutes                           nervous_lamarr

 

交互方式运行一个容器

 Docker 在Windows2016 /Ubuntu18.04中初体验基本命令,tomcat_第2张图片

 

Docker 在Ubuntu 18.04中

安装docker

➜  test sudo apt-get upgrade          
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Calculating upgrade... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

➜  test sudo apt-get install docker
Reading package lists... Done
Building dependency tree       
Reading state information... Done
docker is already the newest version (1.5-1build1).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

➜  test sudo apt-get install docker.io
Reading package lists... Done
Building dependency tree       
Reading state information... Done
docker.io is already the newest version (17.12.1-0ubuntu1).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

docker 版本

➜  test sudo docker version
Client:
 Version:       17.12.1-ce
 API version:   1.35
 Go version:    go1.10.1
 Git commit:    7390fc6
 Built: Wed Apr 18 01:23:11 2018
 OS/Arch:       linux/amd64

Server:
 Engine:
  Version:      17.12.1-ce
  API version:  1.35 (minimum version 1.12)
  Go version:   go1.10.1
  Git commit:   7390fc6
  Built:        Wed Feb 28 17:46:05 2018
  OS/Arch:      linux/amd64
  Experimental: false

配置阿里云docker镜像加速器

使用阿里云加速,下载速度快,有1MB多:

https://dev.aliyun.com/search.html

使用加速器将会提升您在国内获取Docker官方镜像的速度!

您的专属加速器地址 https://?????.mirror.aliyuncs.com     (?????换为各人的专属加速器地址,后同)

如何配置镜像加速器

  • 针对Docker客户端版本大于1.10.0的用户
    您可以通过修改daemon配置文件/etc/docker/daemon.json来使用加速器:
    sudo mkdir -p /etc/docker
    sudo tee /etc/docker/daemon.json <<-'EOF'
    {
      "registry-mirrors": ["https://????????.mirror.aliyuncs.com"]
    }
    EOF
    sudo systemctl daemon-reload
    sudo systemctl restart docker

pull两个镜像:hello-world, tomcat

latest: Pulling from library/hello-world
Digest: sha256:f5233545e43561214ca4891fd1157e1c3c563316ed8e237750d59bde73361e77
Status: Image is up to date for hello-world:latest
➜  test 
➜  test 
➜  test 
➜  test sudo docker pull tomcat     
Using default tag: latest
latest: Pulling from library/tomcat
Digest: sha256:a5cc095285efc4becda11829fbf63663a4216d9344adcf42e0d3d9c95ed6079f
Status: Image is up to date for tomcat:latest
                                                         

PULL了17个镜像image,速度非常快

➜  apache@docker sudo docker images
REPOSITORY                                          TAG                 IMAGE ID            CREATED             SIZE
mysql                                               5.6                 e09f6de95634        22 hours ago        256MB
ubuntu                                              16.04               0b1edfbffd27        3 days ago          113MB
ubuntu                                              14.04               8cef1fa16c77        3 days ago          223MB
ubuntu                                              latest              452a96d81c30        3 days ago          79.6MB
ubuntu                                              17.10               e4422b8da209        3 days ago          99.2MB
1and1internet/ubuntu-16-nginx-php-5.6-wordpress-4   latest              aa2b295eb6cc        4 days ago          513MB
php                                                 latest              81fb5e582f8e        4 days ago          357MB
mysql                                               latest              8d65ec712c69        10 days ago         445MB
tomcat                                              latest              33e02377a00f        2 weeks ago         554MB
redmine                                             latest              887149aec1cd        2 weeks ago         663MB
hello-world                                         latest              e38bc07ac18e        2 weeks ago         1.85kB
groovy                                              latest              736b1ab40dcb        4 weeks ago         569MB
nouchka/sqlite3                                     latest              dd652cec76b3        4 weeks ago         125MB
httpd                                               latest              805130e51ae9        5 weeks ago         178MB
flink                                               latest              c8014c2a597d        5 weeks ago         789MB
antage/apache2-php5                                 latest              9f6bb6d24bd3        3 months ago        648MB
ubuntu                                              12.04               5b117edd0b76        12 months ago       104MB
➜  apache@docker

 

运行了12个容器container

ubuntu:lastest 一个镜像运行了6个容器, tomcat创建了2个容器

➜  test sudo docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                     NAMES
aa7cc0c99e4e        tomcat              "catalina.sh run"        56 seconds ago      Up 51 seconds       0.0.0.0:18081->8080/tcp   tomcat2
e42d78f792da        tomcat              "catalina.sh run"        About an hour ago   Up About an hour    0.0.0.0:18080->8080/tcp   tomcat
9f6c4e6adf80        mysql:5.6           "docker-entrypoint.s…"   About an hour ago   Up About an hour    0.0.0.0:13306->3306/tcp   mysql2
3a83cdf9783f        mysql:5.6           "docker-entrypoint.s…"   About an hour ago   Up About an hour    0.0.0.0:3306->3306/tcp    mymysql
cbcafe1c543e        ubuntu:12.04        "bin/sh -c 'while tr…"   2 hours ago         Up 2 hours                                    u12
617fc0385c38        ubuntu:14.04        "bin/sh -c 'while tr…"   2 hours ago         Up 2 hours                                    focused_wiles
93d03ad052c8        ubuntu              "bin/bash -c ' while…"   3 hours ago         Up 3 hours                                    u3
ff85ac36d387        ubuntu              "bin/bash -c ' while…"   3 hours ago         Up 3 hours                                    u2
e93e21a0926d        ubuntu              "bin/bash -c ' while…"   3 hours ago         Up 3 hours                                    u1
fad177c1aadf        ubuntu              "/bin/bash -c 'while…"   3 hours ago         Up 3 hours                                    sad_engelbart
edc0a745ba40        ubuntu              "/bin/bash"              4 hours ago         Up 4 hours                                    vigorous_snyder
7d6d1f9886e3        ubuntu              "/bin/bash"              4 hours ago         Up 4 hours                                    modest_babbage

12个容器CPU,内存占用率

和虚拟机相比最大的优势,内存占用显著降低,基本上少了操作系统的开销

➜  test sudo docker stats         


CONTAINER ID        NAME                CPU %               MEM USAGE / LIMIT     MEM %               NET I/O             BLOCK I/O           PIDS
aa7cc0c99e4e        tomcat2             0.18%               99.4MiB / 1.439GiB    6.74%               16.9kB / 105kB      98.3MB / 459kB      41
e42d78f792da        tomcat              0.20%               46.7MiB / 1.439GiB    3.17%               8.82kB / 7.15kB     117MB / 0B          41
9f6c4e6adf80        mysql2              0.10%               103.8MiB / 1.439GiB   7.04%               4.96kB / 0B         142MB / 277MB       21
3a83cdf9783f        mymysql             0.07%               20.16MiB / 1.439GiB   1.37%               4.96kB / 0B         156MB / 410MB       21
cbcafe1c543e        u12                 0.00%               2.305MiB / 1.439GiB   0.16%               5.32kB / 0B         36.4MB / 1.71MB     3
617fc0385c38        focused_wiles       0.00%               1.562MiB / 1.439GiB   0.11%               5.47kB / 0B         161MB / 11.5MB      2
93d03ad052c8        u3                  0.00%               1.184MiB / 1.439GiB   0.08%               5.58kB / 0B         57.3kB / 3.33MB     2
ff85ac36d387        u2                  0.00%               1.262MiB / 1.439GiB   0.09%               5.58kB / 0B         475kB / 2.89MB      2
e93e21a0926d        u1                  0.00%               1.223MiB / 1.439GiB   0.08%               5.58kB / 0B         246kB / 1.02MB      2
fad177c1aadf        sad_engelbart       0.30%               1.055MiB / 1.439GiB   0.07%               6.02kB / 0B         639kB / 11.4MB      2
edc0a745ba40        vigorous_snyder     0.00%               1.418MiB / 1.439GiB   0.10%               6.48kB / 0B         1.69MB / 0B         1
7d6d1f9886e3        modest_babbage      0.00%               1.445MiB / 1.439GiB   0.10%               6.77kB / 0B         9.52MB / 0B         1

不过有个疑问,tomcat2, mysql2为什么都比第一个容器tomcat/mymysql内存使用要大非常多(分别大1倍多,4倍多)?

 

容器中体验TOMCAT

运行一个tomcat容器:tomcat2, 将容器的8080端口映射到本机的18081

➜  test sudo docker run --name tomcat2 -p 18081:8080 -v $PWD/test:/usr/local/tomcat/webapps/ROOT/test -d tomcat



[sudo] password for samxiao: 
aa7cc0c99e4eb215fadb4bd52fbbb4b7faee87b757aaf87e8d8ad1f89a1b6316

 

tomcat2的主页

Docker 在Windows2016 /Ubuntu18.04中初体验基本命令,tomcat_第3张图片

主机生成一个文件1.txt

➜  test cat > 1.txt <<-"eo"                                  
hi
  this is from tomcat web site @docker
  SamXIAO
  2018.05.01
EOF
eof
eo

拷贝主机文件 1.txt 到tomcat容器中的WEB服务器中

➜  test ls 
1.txt  test

➜  test cat 1.txt 
hi 
  this is from tomcat web site @docker 
  SamXIAO 
  2018.05.01
EOF
eof


➜  test sudo docker cp 1.txt tomcat2:/usr/local/tomcat/webapps/ROOT                               
[sudo] password for samxiao: 

➜  test sudo docker exec tomcat2 ls /usr/local/tomcat/webapps/ROOT
1.txt
RELEASE-NOTES.txt
WEB-INF
asf-logo-wide.svg
bg-button.png

浏览器看结果

注意地址栏全部小写

Docker 在Windows2016 /Ubuntu18.04中初体验基本命令,tomcat_第4张图片

 

oh-my-zsh byobu 终端展示

Docker 在Windows2016 /Ubuntu18.04中初体验基本命令,tomcat_第5张图片

转载于:https://my.oschina.net/SamXIAO/blog/1805167

你可能感兴趣的:(Docker 在Windows2016 /Ubuntu18.04中初体验基本命令,tomcat)