KALI linux 2020.1a安装docker过程记录

一直没有玩过docker,想在kali上运行docker试一下,众所周知,KALI是基于debian的发行版,本来想参考官网的安装手册,使用debian安装方式进行安装,由于是kali下 官网的自动安装命令需要取一些系统参数一直取不到,所以手工偿试成功安装后记录如下;

系统安装要求

官方手册里面说支持amd64\armhf\arm64等架构,我这边是64位的虚拟机,在支持列表中

Docker Engine - Community is supported on x86_64 (or amd64), armhf, and arm64 architectures.

卸载旧版本:

如果没有旧版本此步略过

 sudo apt-get remove docker docker-engine docker.io containerd runc

root@kali:~#  sudo apt-get remove docker docker-engine docker.io containerd runc
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
软件包 docker-engine 未安装,所以不会被卸载
软件包 containerd 未安装,所以不会被卸载
软件包 docker 未安装,所以不会被卸载
软件包 docker.io 未安装,所以不会被卸载
软件包 runc 未安装,所以不会被卸载
升级了 0 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 531 个软件包未被升级。
root@kali:~#

如果登陆kali用的是非roo帐号需要带前面的sudo,直接用root帐号就不需要带sudo.

安装过程:

安装有多种方式,可以下载deb安装包安装,也可以设置好更新源直接从安装源安装,这样的好处是可以解决依赖性问题

官网提供的更新源地址https://download.docker.com/linux/  同时官方也提供了命令直接导入更新源,命令可在标准的debian上操作,但在kali下面操作会有一些报错,还是手工配置/etc/apt/sourcelist文件好了

这里我强烈建议使用中科大的更新源,国内的速度还是非常靠谱的。

deb http://mirrors.ustc.edu.cn/kali kali-rolling main non-free
deb http://mirrors.ustc.edu.cn/docker-ce/linux/debian stretch stable

需要把更新源的密钥导入系统,否则在apt-get update的时候会提示没有公钥,无法验证签名,会禁用这个更新源; 

curl http://mirrors.ustc.edu.cn/docker-ce/linux/debian/gpg |apt-key add -

root@kali:/etc/apt# curl https://download.docker.com/linux/debian/gpg |apt-key add
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  3817  100  3817    0     0   3550      0  0:00:01  0:00:01 --:--:--  3550
OK

验证密钥是否添加成功,使用指纹的后8个字符进行搜索验证

sudo apt-key fingerprint 0EBFCD88


root@kali:/etc/apt# sudo apt-key fingerprint 0EBFCD88
pub   rsa4096 2017-02-22 [SCEA]
      9DC8 5822 9FC7 DD38 854A  E2D8 8D81 803C 0EBF CD88
uid           [ 未知 ] Docker Release (CE deb) 
sub   rsa4096 2017-02-22 [S]

然后就可以使用apt-get install开始安装了,选择Y,自动安装吧

apt-get install docker-ce docker-ce-cli containerd.io

root@kali:/etc/apt#  apt-get install docker-ce docker-ce-cli containerd.io
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
将会同时安装下列软件:
  aufs-dkms aufs-tools cgroupfs-mount dkms fakeroot libfakeroot linux-compiler-gcc-9-x86 linux-headers-5.4.0-kali4-amd64 linux-headers-5.4.0-kali4-common linux-headers-amd64 linux-kbuild-5.4 pigz
建议安装:
  aufs-dev menu
下列【新】软件包将被安装:
  aufs-dkms aufs-tools cgroupfs-mount containerd.io dkms docker-ce docker-ce-cli fakeroot libfakeroot linux-compiler-gcc-9-x86 linux-headers-5.4.0-kali4-amd64 linux-headers-5.4.0-kali4-common
  linux-headers-amd64 linux-kbuild-5.4 pigz
升级了 0 个软件包,新安装了 15 个软件包,要卸载 0 个软件包,有 620 个软件包未被升级。
需要下载 98.4 MB 的归档。
解压缩后会消耗 446 MB 的额外空间。
您希望继续执行吗? [Y/n] y

验证:

安装完成后需要使用命令验证安装是否成功

docker run hello-world

root@kali:/etc/apt# docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
1b930d010525: Pull complete
Digest: sha256:fc6a51919cfeb2e6763f62b6d9e8815acbf7cd2e476ea353743570610737b752
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (amd64)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
 https://hub.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/get-started/

 这个命令会从网上拉取这个容器运行,如果看到这些就是正常安装啦 ,可以更深入的去使用啦。

直接执行docker命令,能看到更多的帮助功能

root@kali:/etc/apt# docker

Usage:  docker [OPTIONS] COMMAND

A self-sufficient runtime for containers

Options:
      --config string      Location of client config files (default "/root/.docker")
  -c, --context string     Name of the context to use to connect to the daemon (overrides DOCKER_HOST env var and default context set with "docker context use")
  -D, --debug              Enable debug mode
  -H, --host list          Daemon socket(s) to connect to
  -l, --log-level string   Set the logging level ("debug"|"info"|"warn"|"error"|"fatal") (default "info")
      --tls                Use TLS; implied by --tlsverify
      --tlscacert string   Trust certs signed only by this CA (default "/root/.docker/ca.pem")
      --tlscert string     Path to TLS certificate file (default "/root/.docker/cert.pem")
      --tlskey string      Path to TLS key file (default "/root/.docker/key.pem")
      --tlsverify          Use TLS and verify the remote
  -v, --version            Print version information and quit

Management Commands:
  builder     Manage builds
  config      Manage Docker configs
  container   Manage containers
  context     Manage contexts
  engine      Manage the docker engine
  image       Manage images
  network     Manage networks
  node        Manage Swarm nodes
  plugin      Manage plugins
  secret      Manage Docker secrets
  service     Manage services
  stack       Manage Docker stacks
  swarm       Manage Swarm
  system      Manage Docker
  trust       Manage trust on Docker images
  volume      Manage volumes

 

你可能感兴趣的:(KALI linux 2020.1a安装docker过程记录)