docker (podman)构建容器镜像
# yum install -y net-toolsLoaded 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
# 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
~
~
~
# 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
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]