先解決docker pull慢的問題:
解決docker pull 速度慢問題
將docker鏡像源修改為國內的:
在 /etc/docker/daemon.json 文件中添加以下參數(沒有該文件則新建):mac
{
"registry-mirrors": ["https://9cpn8tt6.mirror.aliyuncs.com"] }
服務重啟!
記得是在docker的UI preferrence里設置,然后重啟!
然后運行:docker pull kalilinux/kali-rolling
Using default tag: latest
latest: Pulling from kalilinux/kali-rolling
e612541987ab: Pull complete
Digest: sha256:176769d2cbc517b5f482b23c0edc914c2f2025258d8b77b8a561d96b3db598e4
Status: Downloaded newer image for kalilinux/kali-rolling:latest
docker.io/kalilinux/kali-rolling:latest
運行docker images:
REPOSITORY TAG IMAGE ID CREATED SIZE
kalilinux/kali-rolling latest e2377ba97116 11 hours ago 114MB
docker101tutorial latest 9bb5e3121678 4 days ago 27.3MB
<none> <none> 509096ba4128 4 days ago 85.5MB
<none> <none> 2a0ca0c99046 4 days ago 224MB
<none> <none> 30adc0a91c99 4 days ago 72MB
nginx alpine 6f715d38cfe0 4 weeks ago 22.1MB
python alpine 44fceb565b2a 4 weeks ago 42.7MB
node 12-alpine 18f4bc975732 6 weeks ago 89.3MB
可以看到成功安裝。
然后運行 docker run -t -i kalilinux/kali-rolling /bin/bash
root@a39e83ce3315:/# ls
bin dev home lib32 libx32 mnt proc run srv tmp var
boot etc lib lib64 media opt root sbin sys usr
root@a39e83ce3315:/# pwd
然后安裝nmap:apt install nmap
錯誤如下:
解決方法:
終端執行apt update命令,等更新完畢以后再敲命令:apt install nmap命令即可
也可以把kali的工具全部搬過來,使用以下命令安裝kali所有的工具,大約十多G
apt install kali-linux-all
我沒有這么干,擔心mac硬盤不夠。
然后發現我要共享mac文件夾給kali,於是:
docker run --name test -it -v /Users/xxx/shell_coders_handbook:/data kalilinux/kali-rolling /bin/bash
root@2e095e14b8b7:/# ls
bin data etc lib lib64 media opt root sbin sys usr
boot dev home lib32 libx32 mnt proc run srv tmp var
root@2e095e14b8b7:/# cd data/
root@2e095e14b8b7:/data# ls
code readme.txt
可以看到已經共享成功了!!!
為了保證你對容器的修改在下次啟動進程時依然有效,需要用到commit這個命令。
運行:docker ps -l
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
2e095e14b8b7 kalilinux/kali-rolling "/bin/bash" 14 minutes ago Up 14 minutes test
然后提交下鏡像:docker commit 2e095e14b8b7 docker-kali-shared
sha256:9dd1ffeca50469ddeb4332be535b3827840c3b893f76c17afbedf89afa63c808
看下是否成功: docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker-kali-shared latest 9dd1ffeca504 About a minute ago 353MB
下次運行的時候:
docker run --name test -it -v /Users/xxx/shell_coders_handbook:/data docker-kali-shared /bin/bash
就可以看到上次對容器的修改依然在內,包括你安裝的軟件神馬的都是在的,就不用重復折騰了!
補充:
docker commit :從容器創建一個新的鏡像。
語法
docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
OPTIONS說明:
-
-a :提交的鏡像作者;
-
-c :使用Dockerfile指令來創建鏡像;
-
-m :提交時的說明文字;
-
-p :在commit時,將容器暫停。
實例
將容器a404c6c174a2 保存為新的鏡像,並添加提交人信息和說明信息。
runoob@runoob:~$ docker commit -a "runoob.com" -m "my apache" a404c6c174a2 mymysql:v1 sha256:37af1236adef1544e8886be23010b66577647a40bc02c0885a6600b33ee28057 runoob@runoob:~$ docker images mymysql:v1 REPOSITORY TAG IMAGE ID CREATED SIZE mymysql v1 37af1236adef 15 seconds ago 329 MB