1320503165 发表于 2018-6-21 17:05:32

docker (podman)构建容器镜像

# yum install -y net-tools
Loaded plugins: fastestmirror, ovl
Loading mirror speeds from cached hostfile
* base: mirrors.huaweicloud.com
* extras: mirrors.huaweicloud.com
* updates: mirrors.huaweicloud.com
Resolving Dependencies
--> Running transaction check
---> Package net-tools.x86_64 0:2.0-0.22.20131004git.el7 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
Package         Arch         Version                        RepositorySize
================================================================================
Installing:
net-tools       x86_64       2.0-0.22.20131004git.el7         base       305 k

Transaction Summary
================================================================================
Install1 Package

Total download size: 305 k
Installed size: 917 k
Downloading packages:
net-tools-2.0-0.22.20131004git.el7.x86_64.rpm            | 305 kB   00:02   
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : net-tools-2.0-0.22.20131004git.el7.x86_64                  1/1
Verifying: net-tools-2.0-0.22.20131004git.el7.x86_64                  1/1

Installed:
net-tools.x86_64 0:2.0-0.22.20131004git.el7                                 


# yum install -y vim
Loaded plugins: fastestmirror, ovl
Loading mirror speeds from cached hostfile
* base: mirrors.huaweicloud.com
* extras: mirrors.huaweicloud.com
* updates: mirrors.huaweicloud.com
Resolving Dependencies
--> Running transaction check
---> Package vim-enhanced.x86_64 2:7.4.160-4.el7 will be installed

安装的包,可以使用它,制作成一个镜像
步骤如下:
# docker ps
CONTAINER ID      IMAGE               COMMAND             CREATED             STATUS            PORTS               NAMES
c63d7538a2ca      centos            "/usr/sbin/init"    24 minutes ago      Up 23 minutes                           hungry_bose
hungry_bose是docker 为我们的容器随机分配的名字:
执行 docker commit 命令将容器保存为镜像

# docker commit hungry_bose hungry_bose_vim
sha256:7119d12ac7bff5dbec177f268843c83209379f90fc33bff6bc2e06b3cfe2a453

# docker images
REPOSITORY          TAG               IMAGE ID            CREATED             SIZE
hungry_bose_vim   latest            7119d12ac7bf      35 seconds ago      368MB
centos            latest            49f7960eb7e4      2 weeks ago         200MB

从size上可以看出镜像变大了,因为安装了软件而发生变化
从新的镜像启动容器,验证vim已经可以使用了。
# docker run --privileged -it hungry_bose_vim/usr/sbin/init &
7826




# podman commit stream8 centos8:stream8-1
Getting image source signatures
Copying blob c3dee2a613b9 skipped: already exists
Copying blob f53b51bcab65 done
Copying config f3e7aa6982 done
Writing manifest to image destination
Storing signatures
f3e7aa69823b8a3557c704d836a91f3a02628059a26246310e283e2b65ff97bf
# podman images
REPOSITORY                        TAG         IMAGE ID      CREATED         SIZE
localhost/centos8               stream8-1   f3e7aa69823b21 seconds ago1.65 GB
localhost/centos8               stream      6fd6181ebba05 hours ago   1.65 GB

#
启动容器:
# podman run -d -t -i --network=host--name stream8 --restart=always --privileged=truecentos8:stream8-1/sbin/init /bin/bash

1320503165 发表于 2018-6-21 17:07:18

# docker ps -a
CONTAINER ID      IMAGE               COMMAND             CREATED             STATUS            PORTS               NAMES
1eb419a7b2e7      hungry_bose_vim   "/usr/sbin/init"    54 seconds ago      Created                                 pensive_einstein
c63d7538a2ca      centos            "/usr/sbin/init"    About an hour ago   Up About an hour                        hungry_bose
# docker start 1eb419a7b2e7
1eb419a7b2e7
# docker exec -it 1eb419a7b2e7 /bin/bash


# vim


~                                                                              
~                                                                              
~                                                                              
~                                                                              
~                              VIM - Vi IMproved                              
~                                                                              
~                               version 7.4.1099                              
~                           by Bram Moolenaar et al.                           
~                      Modified by <bugzilla@redhat.com>                        
~               Vim is open source and freely distributable                  
~                                                                              
~                        Become a registered Vim user!                        
~                type:help register<Enter>   for information                  
~                                                                              
~                type:q<Enter>               to exit                        
~                type:help<Enter>or<F1>for on-line help               
~                type:help version7<Enter>   for version info               
~                                                                              
~                                                                              
~                                                                              

rui 发表于 2018-6-21 17:11:13

# docker pull hungry_bose_vim   #pull 文件
# docker push hungry_bose_vim    #push文件

# docker push hungry_bose_vim:latest
The push refers to repository
779523b02d19: Preparing
bcc97fbfc9e1: Preparing
denied: requested access to the resource is denied

rui 发表于 2018-6-21 17:12:48

1、docker -h 帮助
2、获取镜像
sudo docker pull NAME[:TAG]
sudo docker pull centos:latest
3、启动Container盒子
sudo docker run IMAGE
sudp docker run -t -i contos /bin/bash
4、查看镜像列表,列出本地的所有images
sudo docker images
sudo docker images centos
5、查看容器列表,可看到我们创建过的所有container
sudo docker ps
sudo docker ps -a
6、删除镜像,从本地删除一个已经下载的镜像
sudo docker rmi IMAGE
sudo docker rmi centos:latest
7、移除一个或多个容器实例
sudo docker rm CONTAINER
移除所有微运行的容器
sudo docker rm sudo docker ps -aq
8、停止一个正在运行的容器
sudo docker kill CONTAINER
sudo docker kill 026e
9、重启一个正在运行的容器
sudo docker restart contains
sudo docker restart 026e
10、停止一个已经停止的容器
sudo docker start CONTAINER
sudo docker start 026e
页: [1]
查看完整版本: docker (podman)构建容器镜像