1. 程式人生 > >012、構建映象(2018-12-29 週六)

012、構建映象(2018-12-29 週六)

參考 https://www.cnblogs.com/CloudMan6/p/6821332.html   在使用Docker的時候,幾乎所有的作業系統和應用程式都有現成的映象,比如centos、debian、ubuntu、nginx、jenkins。直接docker pull 即可。   Docker Hub上的官方映象已經幫我們做好了應用程式的配置和優化工作,一般情況下直接使用即可。   如果Docker Hub上找不到我們需要的映象,比如自己開發的程式,那就需要自己構建映象了。   構建映象的方法有兩種:1、 docker commit
 命令構建;2、 Dockerfile檔案構建   docker commit   這種方法構建映象比較簡單直觀     1、執行容器     2、修改容器     3、將容器儲存為映象   下面是一個基於centos base映象構建vim映象的過程     [email protected]:~# docker run -it centos
Unable to find image 'centos:latest' locally latest: Pulling from library/centos a02a4930cb5d: Pull complete Digest: sha256:38777a4106f0072649128ea4236241345a3ed21c55abbbd53bad5342549f6126 Status: Downloaded newer image for centos:latest [[email protected] /]# wget
bash: wget: command not found [[email protected] /]# yum install -y wget Loaded plugins: fastestmirror, ovl Loading mirror speeds from cached hostfile * base: mirrors.neusoft.edu.cn * extras: mirrors.huaweicloud.com * updates: mirrors.huaweicloud.com Resolving Dependencies --> Running transaction check ---> Package wget.x86_64 0:1.14-18.el7 will be installed --> Finished Dependency Resolution   Dependencies Resolved   ============================================================================================================================================================= Package                            Arch                                 Version                                    Repository                          Size ============================================================================================================================================================= Installing: wget                               x86_64                               1.14-18.el7                                base                               547 k   Transaction Summary ============================================================================================================================================================= Install  1 Package   Total download size: 547 k Installed size: 2.0 M Downloading packages: wget-1.14-18.el7.x86_64.rpm                                                                                                           | 547 kB  00:00:00      Running transaction check Running transaction test Transaction test succeeded Running transaction   Installing : wget-1.14-18.el7.x86_64                                                                                                                   1/1 install-info: No such file or directory for /usr/share/info/wget.info.gz   Verifying  : wget-1.14-18.el7.x86_64                                                                                                                   1/1   Installed:   wget.x86_64 0:1.14-18.el7                                                                                                                                     Complete! [[email protected] /]# wget wget: missing URL Usage: wget [OPTION]... [URL]...   Try `wget --help' for more options.   [email protected]:~# docker ps CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES 02d010de5fe9        centos              "/bin/bash"         5 minutes ago       Up 5 minutes                            vibrant_bhabha [email protected]:~# docker commit "docker commit" requires at least 1 and at most 2 arguments. See 'docker commit --help'.   Usage:  docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]] [flags]   Create a new image from a container's changes [email protected]:~# docker commit vibrant_bhabha centos-wget sha256:7fe32c85b3a25ed750373af73dd808600c1e0112b96ddade85a01532cce0f2f3 [email protected]:~# docker images REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE centos-wget         latest              7fe32c85b3a2        13 seconds ago      328MB centos              latest              1e1148e4cc2c        3 weeks ago         202MB [email protected]:~# docker run -it centos-wget [[email protected] /]# wget      wget: missing URL Usage: wget [OPTION]... [URL]...   Try `wget --help' for more options. [[email protected] /]#   docker commit 構建映象,不是推薦的方法:1、手工操作,效率,容易出錯;2、使用者不清楚構建的過程,無法進行審計,存在安全隱患   建議使用Dockerfile 構建映象