关于如何用docker部署 GVM-11,先给出一个 shell 脚本,然后给出踩坑过程:

#/bin/bash
################ README INFO #####################
### Purpose: Deploy GVM-11 for docker         ###
### Made By: PomanTeng                         ###
### E-mail: 1807479153@qq.com                  ###
### WeChat: 1807479153                         ###
### Version Identification Number:V0.00        ###
### Procedure Identification Number:20200927   ###
##################################################
yum list installed | grep docker
yum -y update
yum install -y yum-utils device-mapper-persistent-data lvm2
# yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum list docker-ce --showduplicates | sort -r
yum install -y -q docker-ce
systemctl start docker
systemctl enable docker
docker --version
docker info
docker version
ls -F /etc/docker/
tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://w54a9p8i.mirror.aliyuncs.com"]
}
EOF
systemctl daemon-reload
systemctl restart docker
docker version
curl -L "https://github.com/docker/compose/releases/download/1.27.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
docker-compose --version
docker-compose -f docker-compose.yml -f nvt-sync.yml -f cert-sync.yml -f scap-sync.yml up

#浏览器访问 http://localhost:8080 即可抵达 GVM 的 Web UI
#官方项目地址 https://github.com/admirito/gvm-containers

部署Docker:

[googlebigtable@localhost Downloads]$ sudo su

[root@localhost Downloads]# yum list installed | grep docker

[root@localhost Downloads]# yum -y update

Loaded plugins: fastestmirror, langpacks

Loading mirror speeds from cached hostfile

 * base: mirrors.aliyun.com

 * extras: mirrors.aliyun.com

 * updates: mirrors.aliyun.com

No packages marked for update

[root@localhost Downloads]#

[root@localhost Downloads]# yum install -y yum-utils device-mapper-persistent-data lvm2

Loaded plugins: fastestmirror, langpacks

Loading mirror speeds from cached hostfile

 * base: mirrors.aliyun.com

 * extras: mirrors.aliyun.com

 * updates: mirrors.aliyun.com

Package yum-utils-1.1.31-54.el7_8.noarch already installed and latest version

Package device-mapper-persistent-data-0.8.5-2.el7.x86_64 already installed and latest version

Package 7:lvm2-2.02.186-7.el7_8.2.x86_64 already installed and latest version

Nothing to do

[root@localhost Downloads]#

[root@localhost Downloads]# yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

Loaded plugins: fastestmirror, langpacks

adding repo from: https://download.docker.com/linux/centos/docker-ce.repo

grabbing file https://download.docker.com/linux/centos/docker-ce.repo to /etc/yum.repos.d/docker-ce.repo

repo saved to /etc/yum.repos.d/docker-ce.repo

[root@localhost Downloads]# yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

Loaded plugins: fastestmirror, langpacks

adding repo from: http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

grabbing file http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo to /etc/yum.repos.d/docker-ce.repo

repo saved to /etc/yum.repos.d/docker-ce.repo

[root@localhost Downloads]# yum list docker-ce --showduplicates | sort -r

 * updates: mirrors.aliyun.com

Loading mirror speeds from cached hostfile

Loaded plugins: fastestmirror, langpacks

 * extras: mirrors.aliyun.com

docker-ce.x86_64            3:19.03.9-3.el7                     docker-ce-stable

docker-ce.x86_64            3:19.03.8-3.el7                     docker-ce-stable

docker-ce.x86_64            3:19.03.7-3.el7                     docker-ce-stable

docker-ce.x86_64            3:19.03.6-3.el7                     docker-ce-stable

docker-ce.x86_64            3:19.03.5-3.el7                     docker-ce-stable

docker-ce.x86_64            3:19.03.4-3.el7                     docker-ce-stable

docker-ce.x86_64            3:19.03.3-3.el7                     docker-ce-stable

docker-ce.x86_64            3:19.03.2-3.el7                     docker-ce-stable

docker-ce.x86_64            3:19.03.1-3.el7                     docker-ce-stable

docker-ce.x86_64            3:19.03.13-3.el7                    docker-ce-stable

docker-ce.x86_64            3:19.03.12-3.el7                    docker-ce-stable

docker-ce.x86_64            3:19.03.11-3.el7                    docker-ce-stable

docker-ce.x86_64            3:19.03.10-3.el7                    docker-ce-stable

docker-ce.x86_64            3:19.03.0-3.el7                     docker-ce-stable

docker-ce.x86_64            3:18.09.9-3.el7                     docker-ce-stable

docker-ce.x86_64            3:18.09.8-3.el7                     docker-ce-stable

docker-ce.x86_64            3:18.09.7-3.el7                     docker-ce-stable

docker-ce.x86_64            3:18.09.6-3.el7                     docker-ce-stable

docker-ce.x86_64            3:18.09.5-3.el7                     docker-ce-stable

docker-ce.x86_64            3:18.09.4-3.el7                     docker-ce-stable

docker-ce.x86_64            3:18.09.3-3.el7                     docker-ce-stable

docker-ce.x86_64            3:18.09.2-3.el7                     docker-ce-stable

docker-ce.x86_64            3:18.09.1-3.el7                     docker-ce-stable

docker-ce.x86_64            3:18.09.0-3.el7                     docker-ce-stable

docker-ce.x86_64            18.06.3.ce-3.el7                    docker-ce-stable

docker-ce.x86_64            18.06.2.ce-3.el7                    docker-ce-stable

docker-ce.x86_64            18.06.1.ce-3.el7                    docker-ce-stable

docker-ce.x86_64            18.06.0.ce-3.el7                    docker-ce-stable

docker-ce.x86_64            18.03.1.ce-1.el7.centos             docker-ce-stable

docker-ce.x86_64            18.03.0.ce-1.el7.centos             docker-ce-stable

docker-ce.x86_64            17.12.1.ce-1.el7.centos             docker-ce-stable

docker-ce.x86_64            17.12.0.ce-1.el7.centos             docker-ce-stable

docker-ce.x86_64            17.09.1.ce-1.el7.centos             docker-ce-stable

docker-ce.x86_64            17.09.0.ce-1.el7.centos             docker-ce-stable

docker-ce.x86_64            17.06.2.ce-1.el7.centos             docker-ce-stable

docker-ce.x86_64            17.06.1.ce-1.el7.centos             docker-ce-stable

docker-ce.x86_64            17.06.0.ce-1.el7.centos             docker-ce-stable

docker-ce.x86_64            17.03.3.ce-1.el7                    docker-ce-stable

docker-ce.x86_64            17.03.2.ce-1.el7.centos             docker-ce-stable

docker-ce.x86_64            17.03.1.ce-1.el7.centos             docker-ce-stable

docker-ce.x86_64            17.03.0.ce-1.el7.centos             docker-ce-stable

 * base: mirrors.aliyun.com

Available Packages

[root@localhost Downloads]#

[root@localhost Downloads]# yum install -y -q docker-ce

warning: /var/cache/yum/x86_64/7/docker-ce-stable/packages/docker-ce-19.03.13-3.el7.x86_64.rpm: Header V4 RSA/SHA512 Signature, key ID 621e9f35: NOKEY

Public key for docker-ce-19.03.13-3.el7.x86_64.rpm is not installed

Importing GPG key 0x621E9F35:

 Userid     : "Docker Release (CE rpm) <docker@docker.com>"

 Fingerprint: 060a 61c5 1b55 8a7f 742b 77aa c52f eb6b 621e 9f35

 From       : https://mirrors.aliyun.com/docker-ce/linux/centos/gpg

setsebool:  SELinux is disabled.

[root@localhost Downloads]#

[root@localhost Downloads]# systemctl start docker

[root@localhost Downloads]# systemctl enable docker

Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.

[root@localhost Downloads]# docker --version

Docker version 19.03.13, build 4484c46d9d

[root@localhost Downloads]# docker info

Client:

 Debug Mode: false

 

Server:

 Containers: 0

  Running: 0

  Paused: 0

  Stopped: 0

 Images: 0

 Server Version: 19.03.13

 Storage Driver: overlay2

  Backing Filesystem: xfs

  Supports d_type: true

  Native Overlay Diff: true

 Logging Driver: json-file

 Cgroup Driver: cgroupfs

 Plugins:

  Volume: local

  Network: bridge host ipvlan macvlan null overlay

  Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog

 Swarm: inactive

 Runtimes: runc

 Default Runtime: runc

 Init Binary: docker-init

 containerd version: 8fba4e9a7d01810a393d5d25a3621dc101981175

 runc version: dc9208a3303feef5b3839f4323d9beb36df0a9dd

 init version: fec3683

 Security Options:

  seccomp

   Profile: default

 Kernel Version: 3.10.0-1127.19.1.el7.x86_64

 Operating System: CentOS Linux 7 (Core)

 OSType: linux

 Architecture: x86_64

 CPUs: 4

 Total Memory: 3.682GiB

 Name: localhost.localdomain

 ID: FMRF:UBUS:VXE5:X2HI:S7GY:RF4G:RVXV:7G2L:RRXZ:BPM7:KZEJ:WDDC

 Docker Root Dir: /var/lib/docker

 Debug Mode: false

 Registry: https://index.docker.io/v1/

 Labels:

 Experimental: false

 Insecure Registries:

  127.0.0.0/8

 Live Restore Enabled: false

 

[root@localhost Downloads]#

[root@localhost Downloads]# docker version

Client: Docker Engine - Community

 Version:           19.03.13

 API version:       1.40

 Go version:        go1.13.15

 Git commit:        4484c46d9d

 Built:             Wed Sep 16 17:03:45 2020

 OS/Arch:           linux/amd64

 Experimental:      false

 

Server: Docker Engine - Community

 Engine:

  Version:          19.03.13

  API version:      1.40 (minimum version 1.12)

  Go version:       go1.13.15

  Git commit:       4484c46d9d

  Built:            Wed Sep 16 17:02:21 2020

  OS/Arch:          linux/amd64

  Experimental:     false

 containerd:

  Version:          1.3.7

  GitCommit:        8fba4e9a7d01810a393d5d25a3621dc101981175

 runc:

  Version:          1.0.0-rc10

  GitCommit:        dc9208a3303feef5b3839f4323d9beb36df0a9dd

 docker-init:

  Version:          0.18.0

  GitCommit:        fec3683

[root@localhost Downloads]#

[root@localhost Downloads]# ls -F /etc/docker/

key.json

[root@localhost Downloads]# tee /etc/docker/daemon.json <<-'EOF'

>  {

>    "registry-mirrors": ["https://w54a9p8i.mirror.aliyuncs.com"]

>  }

> EOF

 {

   "registry-mirrors": ["https://w54a9p8i.mirror.aliyuncs.com"]

 }

[root@localhost Downloads]# systemctl daemon-reload

[root@localhost Downloads]# systemctl restart docker

[root@localhost Downloads]# docker version

Client: Docker Engine - Community

 Version:           19.03.13

 API version:       1.40

 Go version:        go1.13.15

 Git commit:        4484c46d9d

 Built:             Wed Sep 16 17:03:45 2020

 OS/Arch:           linux/amd64

 Experimental:      false

 

Server: Docker Engine - Community

 Engine:

  Version:          19.03.13

  API version:      1.40 (minimum version 1.12)

  Go version:       go1.13.15

  Git commit:       4484c46d9d

  Built:            Wed Sep 16 17:02:21 2020

  OS/Arch:          linux/amd64

  Experimental:     false

 containerd:

  Version:          1.3.7

  GitCommit:        8fba4e9a7d01810a393d5d25a3621dc101981175

 runc:

  Version:          1.0.0-rc10

  GitCommit:        dc9208a3303feef5b3839f4323d9beb36df0a9dd

 docker-init:

  Version:          0.18.0

  GitCommit:        fec3683

[root@localhost Downloads]#

官方推荐的docker安装方式:

https://github.com/admirito/gvm-containers

[root@localhost Downloads]# git clone https://github.com/admirito/gvm-containers.git

Cloning into 'gvm-containers'...

remote: Enumerating objects: 42, done.

remote: Counting objects: 100% (42/42), done.

remote: Compressing objects: 100% (33/33), done.

remote: Total 183 (delta 17), reused 25 (delta 9), pack-reused 141

Receiving objects: 100% (183/183), 41.06 KiB | 0 bytes/s, done.

Resolving deltas: 100% (87/87), done.

[root@localhost Downloads]# ls -F

epel-release-latest-7.noarch.rpm         gvm-containers/        VMwareTools-10.3.10-13959562.tar.gz

google-chrome-stable_current_x86_64.rpm  initCentOS7aliYUM.sh*  vmware-tools-distrib/

[root@localhost Downloads]# cd gvm-containers/

[root@localhost gvm-containers]# ls -F

cert-sync.yml  chart/  docker-compose.yml  gsad/  gvmd/  gvm-postgres/  nvt-sync.yml  openvas/  README.org  scap-sync.yml

[root@localhost gvm-containers]#

[root@localhost gvm-containers]# curl -L "https://github.com/docker/compose/releases/download/1.27.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current

                                 Dload  Upload   Total   Spent    Left  Speed

100   651  100   651    0     0   1146      0 --:--:-- --:--:-- --:--:--  1146

100 11.6M  100 11.6M    0     0  51494      0  0:03:57  0:03:57 --:--:-- 57622

[root@localhost gvm-containers]# chmod +x /usr/local/bin/docker-compose

[root@localhost gvm-containers]# ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

[root@localhost gvm-containers]# docker-compose --version

docker-compose version 1.27.4, build 40524192

[root@localhost gvm-containers]# docker-compose -f docker-compose.yml -f nvt-sync.yml -f cert-sync.yml -f scap-sync.yml up

待与德国服务器同步对比库成功后,在浏览器执行 http://localhost:8080/

我当前是以交互模式运行docker的,如果是在生产环境中,建议用守护进程的方式运行docker 镜像及对应的docker容器。

 

 

 

 

 

 

 

 

 

 

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐