1. 程式人生 > 其它 >|NO.Z.00010|——————————|CloudVirtualiZation|——|Cloud&Docker映象.V02|-------------------------------------|建立tomcat映象|

|NO.Z.00010|——————————|CloudVirtualiZation|——|Cloud&Docker映象.V02|-------------------------------------|建立tomcat映象|



[CloudVirtualiZation:Cloud&Docker映象.V02]                                              [Applications.CloudVirtualiZation] [|docker|docker映象|倉庫管理|映象特性|dockerfile|docker倉庫構建|Harbor企業級私有倉庫]








一、測試沒有封裝好前臺守護程序的映象執行容器,容器未exited狀態
### --- library:官方的:官方的預設是一個底層的基礎映象;基礎映象包含一些工具和類庫;
~~~     基礎映象可以通過作業系統tar打包,

[root@localhost ~]# docker pull  centos:6.8
6.8: Pulling from library/centos
### --- 刪除全部容器

[root@localhost ~]# docker rm -f $( docker ps -a -q )  
[root@localhost ~]# docker ps -a 
[root@localhost ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
centos              6.8                 82f3b5f3c58f        21 months ago       195 MB
### --- STATUS:Exited它執行的命令是/bin/bash;
~~~     而此刻/bin/bash並沒有得到我們授予終端的作用,隨意就會推出,沒有前臺工作的程序

[root@localhost ~]# docker run --name test centos:6.8
[root@localhost ~]# docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                      PORTS               NAMES
c33ecc6d9676        centos:6.8          "/bin/bash"         24 seconds ago      Exited (0) 23 seconds ago  
二、下載已經封裝好前臺守護程序映象,執行是up狀態
### --- 下載已經封裝好前臺守護程序映象,執行是up狀態

~~~     # 網易蜂巢:產品服務——>映象倉庫——>映象中心——>centos
~~~     library/centos:較精簡的映象倉庫,沒有工作在前臺的守護程序,一啟動就會推出。
~~~     public/centos:包含了一些除錯工具,wget等,注意在生產環境中使用public映象倉庫。封裝了一些 工具
~~~     supervisord.conf;是工作在前臺的一個程序,啟動後會正常工作。
~~~     # 注:centos:7.0~7.6之間映象不建議使用,有自己對應的systemd的工具,需要自己配置;建議使用6.7版本。
### --- 映象下載地址:https://c.163yun.com/hub#/library/repository/info?repoId=1055
### --- 複製:docker pull hub.c.163.com/public/centos:6.7-tools

[root@localhost ~]# docker pull hub.c.163.com/public/centos:6.7-tools
6.7-tools: Pulling from public/centos
Digest: sha256:cade8d883b9bde4dc43fd233e4b76e6efd17980b6f61014fab11d666ab7f06ee
Status: Downloaded newer image for hub.c.163.com/public/centos:6.7-tools
[root@localhost ~]# docker images
hub.c.163.com/public/centos   6.7-tools           b2ab0ed558bb        3 years ago         602 MB
[root@localhost ~]# docker run --name mysql -d hub.c.163.com/public/centos:6.7-tools         //啟動一個centos並在裡面執行mysql
ec7f2957ea819753afc37538565ff12d8edeed38c72bc87c3c3466c2c8d5532e
[root@localhost ~]# docker ps -a
CONTAINER ID        IMAGE                                   COMMAND                  CREATED             STATUS                      PORTS               NAMES
ec7f2957ea81        hub.c.163.com/public/centos:6.7-tools   "/usr/bin/supervisord"   33 seconds ago      Up 33 seconds               22/tcp 
三、使用當前容器打包映象commit的轉換
### --- 使用當前容器打包映象commit的轉換
### --- 使用當前容器打包一個映象:

[root@localhost ~]# docker exec -it mysql /bin/bash
[root@ec7f2957ea81 /]# yum install -y mysql mysql-server
[root@ec7f2957ea81 /]# service  mysqld start
[root@ec7f2957ea81 /]# chkconfig mysqld on
[root@ec7f2957ea81 /]# mysqladmin -uroot password 123
[root@ec7f2957ea81 /]# mysql -uroot -p
### --- commit只是把當時的狀態打包成映象,

[root@localhost ~]# docker commit mysql mysql:5.1       // mysql:當前容器的名稱        MySQL:5.1  建立的映象名稱:5.1是映象的版本號
sha256:3ea843aab0eb33e65c347919a9f0f676e6bf1139ece1c5a8a7c7a39bd9e9075d
[root@localhost ~]# docker images 
REPOSITORY                    TAG                 IMAGE ID            CREATED              SIZE
mysql                         5.1                 3ea843aab0eb        About a minute ago   702 MB       //我們自己建立的映象
### --- 使用我們打包的映象啟動一個容器未mysql-my 3ea8:使用映象ID建立

[root@localhost ~]# docker run --name mysql-my -d 3ea8  
0485d25108a8f64ffe52af13560f9e5eb7c4331b9868a4653254d27da73bd653
[root@localhost ~]# docker ps -a
CONTAINER ID        IMAGE                                   COMMAND                  CREATED             STATUS              PORTS               NAMES
0485d25108a8        3ea8                                    "/usr/bin/supervisord"   45 seconds ago      Up 45 seconds       22/tcp              mysql-my
[root@localhost ~]# docker exec -it 0485d25108a8 /bin/bash
[root@0485d25108a8 /]# mysql -uroot -p
四、使用當前容器打包映象dockerfile的轉換
### --- 使用當前容器打包映象dockerfile的轉換

~~~     網易蜂巢查詢優秀的dockerfile文字:
~~~     https://c.163yun.com/hub#/home——>映象中心——>wordpress——>END

五、使用dockfile建立一個Tomcat映象(通過dockfile得到一個自己想要得到的映象):
### --- 上傳配置檔案至伺服器中:

[root@localhost ~]# mkdir tomcat
[root@localhost tomcat]# ls
apache-tomcat-7.0.42.tar.gz  Dockerfile  jdk-7u25-linux-x64.tar.gz
### --- 最後一個. 表示當前預處理當前dockerfile版本

[root@localhost tomcat]# docker build  -t tomcat:v1.0 . 
Sending build context to Docker daemon 104.3 MB
Step 1/8 : FROM hub.c.163.com/public/centos:6.7
6.7: Pulling from public/centos
Digest: sha256:318d49272d1ef825831051c558ccb24237f0e95ea0f30dde2c1e6cab11d62ecb
Status: Downloaded newer image for hub.c.163.com/public/centos:6.7
Removing intermediate container 8459e1403296
Successfully built b9700949f863
[root@localhost tomcat]# docker images 
REPOSITORY                    TAG                 IMAGE ID            CREATED             SIZE
tomcat                        v1.0                b9700949f863        3 hours ago         642 MB
### --- 通過IE瀏覽器可以訪問Tomcat web介面

[root@localhost tomcat]# docker run --name tomcat -p 80:8080 -d tomcat:v1.0
00d30c7ce4d29a366c4cfcc5cbe26b56fbd6aff344827d74ad5d48e20f93d578
[root@localhost tomcat]# docker ps -a
CONTAINER ID        IMAGE                                   COMMAND                  CREATED              STATUS                  PORTS                          NAMES
00d30c7ce4d2        tomcat:v1.0                             "/bin/sh -c '/root..."   About a minute ago   Up About a minute       22/tcp, 0.0.0.0:80->8080/tcp   tomcat
[root@localhost tomcat]# docker ps -a --no-trunc 
CONTAINER ID                                                       IMAGE                COMMAND                                                                                                          CREATED             STATUS                  PORTS                          NAMES
00d30c7ce4d29a366c4cfcc5cbe26b56fbd6aff344827d74ad5d48e20f93d578   tomcat:v1.0          "/bin/sh -c '/root/apache-tomcat-7.0.42/bin/startup.sh && tailf /root/apache-tomcat-7.0.42/logs/catalina.out'"   2 minutes ago       Up 2 minutes            22/tcp, 0.0.0.0:80->8080/tcp   tomcat








===============================END===============================


Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart                                                                                                                                                    ——W.S.Landor



來自為知筆記(Wiz)