作者:尹正杰
版权声明:原创作品,谢绝转载!否则将追究法律责任。
一.安装CentOS7.6操作系统
该过程过于简单,且CentOS 7各个版本之间部署方式几乎雷同,可参考我之前的笔记:"https://www.cnblogs.com/yinzhengjie/p/10181840.html"
生产环境如果你要安装docker的话建议使用CentOS7.2以上版本,如果使用的版本较低可能会出现docker无法启动的情况。
二.安装pouch容器管理工具
1>.查看操作环境
[root@docker201.yinzhengjie.org.cn ~]# cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]# uname -r
3.10.0-957.el7.x86_64
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]# uname -m
x86_64
[root@docker201.yinzhengjie.org.cn ~]#
2>.下载阿里的软件源
[root@docker201.yinzhengjie.org.cn ~]# wget http://mirrors.aliyun.com/opsx/pouch/centos7.repo -O /etc/yum.repos.d/pouch-centos7.repo
--2020-01-13 18:39:37-- http://mirrors.aliyun.com/opsx/pouch/centos7.repo
Resolving mirrors.aliyun.com (mirrors.aliyun.com)... 27.221.92.123, 110.249.197.229, 119.167.168.229, ...
Connecting to mirrors.aliyun.com (mirrors.aliyun.com)|27.221.92.123|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 403 [application/octet-stream]
Saving to: ‘/etc/yum.repos.d/pouch-centos7.repo’
100%[====================================================================================================================================================================================================================================>] 403 --.-K/s in 0s
2020-01-13 18:39:37 (126 MB/s) - ‘/etc/yum.repos.d/pouch-centos7.repo’ saved [403/403]
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]# wget http://mirrors.aliyun.com/opsx/pouch/centos7.repo -O /etc/yum.repos.d/pouch-centos7.repo
[root@docker201.yinzhengjie.org.cn ~]# cat /etc/yum.repos.d/pouch-centos7.repo
[pouch-stable]
name=Pouch Stable - $basearch
baseurl=http://mirrors.aliyun.com/opsx/pouch/linux/centos/7/$basearch/stable
enabled=1
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/opsx/pouch/linux/centos/gpg
[pouch-test]
name=Pouch Test - $basearch
baseurl=http://mirrors.aliyun.com/opsx/pouch/linux/centos/7/$basearch/test
enabled=0
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/opsx/pouch/linux/centos/gpg
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]#
3>.通过yum的方式安装pouch
[root@docker201.yinzhengjie.org.cn ~]# yum -y install pouch
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirror.bit.edu.cn
* extras: mirror.bit.edu.cn
* updates: mirrors.aliyun.com
pouch-stable | 2.9 kB 00:00:00
pouch-stable/x86_64/primary_db | 8.0 kB 00:00:00
Resolving Dependencies
--> Running transaction check
---> Package pouch.x86_64 0:1.3.0-1.el7 will be installed
--> Processing Dependency: pam-devel for package: pouch-1.3.0-1.el7.x86_64
--> Processing Dependency: fuse-libs for package: pouch-1.3.0-1.el7.x86_64
--> Processing Dependency: fuse-devel for package: pouch-1.3.0-1.el7.x86_64
--> Processing Dependency: fuse for package: pouch-1.3.0-1.el7.x86_64
--> Running transaction check
---> Package fuse.x86_64 0:2.9.2-11.el7 will be installed
---> Package fuse-devel.x86_64 0:2.9.2-11.el7 will be installed
---> Package fuse-libs.x86_64 0:2.9.2-11.el7 will be installed
---> Package pam-devel.x86_64 0:1.1.8-22.el7 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
==============================================================================================================================================================================================================================================================================
Package Arch Version Repository Size
==============================================================================================================================================================================================================================================================================
Installing:
pouch x86_64 1.3.0-1.el7 pouch-stable 44 M
Installing for dependencies:
fuse x86_64 2.9.2-11.el7 base 86 k
fuse-devel x86_64 2.9.2-11.el7 base 37 k
fuse-libs x86_64 2.9.2-11.el7 base 93 k
pam-devel x86_64 1.1.8-22.el7 base 184 k
Transaction Summary
==============================================================================================================================================================================================================================================================================
Install 1 Package (+4 Dependent packages)
Total download size: 45 M
Installed size: 146 M
Downloading packages:
(1/5): fuse-2.9.2-11.el7.x86_64.rpm | 86 kB 00:00:00
(2/5): fuse-devel-2.9.2-11.el7.x86_64.rpm | 37 kB 00:00:00
(3/5): fuse-libs-2.9.2-11.el7.x86_64.rpm | 93 kB 00:00:00
(4/5): pam-devel-1.1.8-22.el7.x86_64.rpm | 184 kB 00:00:00
warning: /var/cache/yum/x86_64/7/pouch-stable/packages/pouch-1.3.0-1.el7.x86_64.rpm: Header V4 RSA/SHA1 Signature, key ID 439ae9ec: NOKEY=========================================================================================== ] 7.0 MB/s | 42 MB 00:00:00 ETA
Public key for pouch-1.3.0-1.el7.x86_64.rpm is not installed
(5/5): pouch-1.3.0-1.el7.x86_64.rpm | 44 MB 00:00:04
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total 9.9 MB/s | 45 MB 00:00:04
Retrieving key from http://mirrors.aliyun.com/opsx/pouch/linux/centos/gpg
Importing GPG key 0x439AE9EC:
Userid : "Pouch Release <pouch-dev@list.alibaba-inc.com>"
Fingerprint: b615 ddd7 90c7 0912 582d dc2d d7ae a5ed 439a e9ec
From : http://mirrors.aliyun.com/opsx/pouch/linux/centos/gpg
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : fuse-libs-2.9.2-11.el7.x86_64 1/5
Installing : fuse-devel-2.9.2-11.el7.x86_64 2/5
Installing : fuse-2.9.2-11.el7.x86_64 3/5
Installing : pam-devel-1.1.8-22.el7.x86_64 4/5
Installing : pouch-1.3.0-1.el7.x86_64 5/5
Verifying : pam-devel-1.1.8-22.el7.x86_64 1/5
Verifying : fuse-devel-2.9.2-11.el7.x86_64 2/5
Verifying : fuse-libs-2.9.2-11.el7.x86_64 3/5
Verifying : fuse-2.9.2-11.el7.x86_64 4/5
Verifying : pouch-1.3.0-1.el7.x86_64 5/5
Installed:
pouch.x86_64 0:1.3.0-1.el7
Dependency Installed:
fuse.x86_64 0:2.9.2-11.el7 fuse-devel.x86_64 0:2.9.2-11.el7 fuse-libs.x86_64 0:2.9.2-11.el7 pam-devel.x86_64 0:1.1.8-22.el7
Complete!
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]# yum -y install pouch
三.pouch工具的基本使用
1>.启动pouch
[root@docker201.yinzhengjie.org.cn ~]# systemctl status pouch
● pouch.service - pouch
Loaded: loaded (/usr/lib/systemd/system/pouch.service; disabled; vendor preset: disabled)
Active: inactive (dead)
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]# systemctl start pouch
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]# systemctl status pouch
● pouch.service - pouch
Loaded: loaded (/usr/lib/systemd/system/pouch.service; disabled; vendor preset: disabled)
Active: active (running) since Mon 2020-01-13 18:44:21 CST; 2s ago
Main PID: 18422 (pouchd)
Tasks: 21
Memory: 26.8M
CGroup: /system.slice/pouch.service
├─18422 /usr/local/bin/pouchd
└─18429 containerd --config /var/lib/pouch/containerd/state/pouch-containerd.toml --log-level info
Jan 13 18:44:19 docker201.yinzhengjie.org.cn pouchd[18422]: time="2020-01-13T18:44:19.748223865+08:00" level=info msg="loading plugin "io.containerd.grpc.v1.introspection"..." type=io.containerd.grpc.v1
Jan 13 18:44:19 docker201.yinzhengjie.org.cn pouchd[18422]: time="2020-01-13T18:44:19.748525272+08:00" level=info msg=serving... address="/run/containerd/debug.sock"
Jan 13 18:44:19 docker201.yinzhengjie.org.cn pouchd[18422]: time="2020-01-13T18:44:19.748575854+08:00" level=info msg=serving... address="/var/run/containerd.sock"
Jan 13 18:44:19 docker201.yinzhengjie.org.cn pouchd[18422]: time="2020-01-13T18:44:19.748583031+08:00" level=info msg="containerd successfully booted in 0.008565s"
Jan 13 18:44:19 docker201.yinzhengjie.org.cn pouchd[18422]: time="2020-01-13T18:44:19.753585443+08:00" level=info msg="success to start containerd" containerd-pid=18429 module=ctrd-supervisord
Jan 13 18:44:19 docker201.yinzhengjie.org.cn pouchd[18422]: time="2020-01-13T18:44:19.758489799+08:00" level=info msg="success to create 5 containerd clients, connect to: /var/run/containerd.sock"
Jan 13 18:44:19 docker201.yinzhengjie.org.cn pouchd[18422]: time="2020-01-13T18:44:19.759049076+08:00" level=info msg="Snapshotter is set to be overlayfs"
Jan 13 18:44:19 docker201.yinzhengjie.org.cn pouchd[18422]: time="2020-01-13T18:44:19.759278316+08:00" level=info msg="invoke pre-start hook in plugin"
Jan 13 18:44:21 docker201.yinzhengjie.org.cn pouchd[18422]: time="2020-01-13T18:44:21.605939977+08:00" level=info msg="start to listen to: unix:///var/run/pouchd.sock"
Jan 13 18:44:21 docker201.yinzhengjie.org.cn systemd[1]: Started pouch.
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]# systemctl start pouch
2>.查看pouch的信息
[root@docker201.yinzhengjie.org.cn ~]# pouch info #注意观察"Default Runtime"的属性值
Containers: 0
Running: 0
Paused: 0
Stopped: 0
Images: 0
ID:
Name: docker201.yinzhengjie.org.cn
Server Version: 1.3.0
Storage Driver: overlayfs
Driver Status: []
Logging Driver: json-file
Volume Drivers: [local tmpfs]
Cgroup Driver: cgroupfs
Default Runtime: runc
Runtimes: runc
runc: <nil>
containerd: <nil>
Security Options: [seccomp selinux]
Kernel Version: 3.10.0-957.el7.x86_64
Operating System: "CentOS Linux 7 (Core)"
OSType: linux
Architecture: amd64
HTTP Proxy:
HTTPS Proxy:
Registry: https://index.docker.io/v1/
Experimental: false
Debug: false
Labels:
node_ip=192.168.6.201
SN=VMware-56
CPUs: 2
Total Memory: 3.683GiB
Pouch Root Dir: /var/lib/pouch
LiveRestoreEnabled: true
LxcfsEnabled: false
CriEnabled: false
Daemon Listen Addresses: [unix:///var/run/pouchd.sock]
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]# pouch info #注意观察"Default Runtime"的属性值
3>.查看pouch工具的帮助信息
[root@docker201.yinzhengjie.org.cn ~]# pouch --help
pouch is a client side tool pouch to interact with daemon side process pouchd. Flags and arguments can be input to do what actually you wish. Then pouch parses the flags and arguments and sends a RESTful request to daemon side pouchd.
Usage:
pouch [command]
Available Commands:
checkpoint Manage checkpoint commands
commit Commit an image from a container
create Create a new container with specified image
events Get real time events from the daemon
exec Run a command in a running container
gen-doc Generate docs
help Help about any command
history Display history information on image
image Manage image
images List all images
info Display system-wide information
inspect Get the detailed information of container
load load a set of images from a tar archive or STDIN
login Login to a registry
logout Logout from a registry
logs Print a container's logs
network Manage pouch networks
pause Pause one or more running containers
ps List containers
pull Pull an image from registry
remount-lxcfs remount lxcfs bind in containers
rename Rename a container with newName
restart restart one or more containers
rm Remove one or more containers
rmi Remove one or more images by reference
run Create a new container and start it
save Save an image to a tar archive or STDOUT
start Start one or more created or stopped containers
stats Display a live stream of container(s) resource usage statistics
stop Stop one or more running containers
tag Create a tag TARGET_IMAGE that refers to SOURCE_IMAGE
top Display the running processes of a container
unpause Unpause one or more paused container
update Update the configurations of a container
updatedaemon Update the configurations of pouchd
upgrade Upgrade a container with new image and args
version Print versions about Pouch CLI and Pouchd
volume Manage pouch volumes
wait Block until one or more containers stop, then print their exit codes
Flags:
-D, --debug Switch client log level to DEBUG mode
-h, --help help for pouch
-H, --host string Specify connecting address of Pouch CLI (default "unix:///var/run/pouchd.sock")
--tlscacert string Specify CA file of TLS
--tlscert string Specify cert file of TLS
--tlskey string Specify key file of TLS
--tlsverify Use TLS and verify remote
Use "pouch [command] --help" for more information about a command.
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]#
[root@docker201.yinzhengjie.org.cn ~]# pouch --help