本以上想熟悉一下那個神祕的docker,就是一個傳說中很多運維專家強烈推薦的東西,然後打算安裝一百年,然後瞭解一下docker的配置命令什麼的,學習學習;
安裝前顯示在菜鳥教程上面看了一遍,又在csdn找了一個高票回答熟悉了一邊操作流程纔開始的,我最開始選的是ubuntu18.04,然後我在安裝的時候碰到了無數的問題....
https://blog.csdn.net/qq_38019633/article/details/84024309 https://blog.csdn.net/qq_41856814/article/details/101306701
還有我總結的一個:https://blog.csdn.net/Alexz__/article/details/105004859
很他媽要命,最後我崩潰了,居然apt-get都報錯,找不到這個命令?!
我真的是一步步按照流程來的...
所以現在成這樣了:
我用kali一點問題都沒有,果然
kaliLinux纔是世界上最好的發行版系統
安裝流程:(別忘了快照)
首先查看你的系統版本
uname -a
更新系統源
apt-get update
然後卸載所有舊的版本
apt-get remove docker docker-engine docker.io containerd runc
安裝docker以及docker倉庫所需的所有依賴包:
root@AlexzKali:/# apt-get install \
> apt-transport-https \
> ca-certificates \
> curl \
> gnupg-agent \
> software-properties-common
添加docker官方的GPG祕鑰
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
之後要是成功的話只有簡短的兩個字母:
OK
查看所有祕鑰,是否有我們剛纔添加的docker祕鑰
apt-key fingerprint
然後,開始安裝
apt-get install docker-ce docker-ce-cli containerd.io
當然你也可以看看你想安裝什麼特殊的版本:
apt-cache madison docker-ce
一切正常的話就已經安裝成功了,我們來看看:
這個時候我們想嘗試一下從倉庫上抓取hello-world這個image試試:
docker image pull library/hello-world
提示超時,我們需要更換國內的源
nano /etc/docker/daemon.json
要是沒有這個文件就新建一個
寫入如下內容:
{
"registry-mirrors": ["https://registry.docker-cn.com"]
}
保存退出
重啓docker服務
systemctl restart docker.service
Docker常用命令
docker version #查看Docker版本
systemctl start docker #啓動
systemctl stop docker #關閉docker
systemctl restart docker #重啓docker服務
systemctl daemon-reload #守護進程重啓
docker images #查看本地鏡像
docker images -a #查看所有的鏡像
docker images php #查看倉庫名爲php的鏡像
docker rmi -f 鏡像ID #強制刪除鏡像
docker rmi -f 鏡像名A:tag 鏡像名B:tag #刪除多個鏡像
docker rmi -f $(docker images -aq) #刪除全部鏡像
docker save #導出鏡像 例如:docker image save centos > docker-centos7.4.tar.gz
docker load #導入鏡像 例如:docker image load -i docker-centos7.4.tar.gz
docker search xx #查找相關鏡像 例如:docker search redis
docker search -s 30 redis #查找start大於30的redis鏡像
docker pull name:標籤 #從查找的鏡像中下載下來,標籤默認是latest 例如:docker pull redis 等價於 docker pull redis:latest
docker run -d -P --name xxx REPOSITORY:TAG #根據鏡像啓動容器
-d:讓容器在後臺運行
-P:將容器內部使用的網絡端口映射到我們使用的主機上
-p:自定義端口映射,如 -p 8002:80 ,意思就是將容器的80端口映射到宿主機的8002端口
--name:該參數可選,指定容器的名字
docker ps #查看運行中的容器
docker ps –a #查看所有的容器
docker start 容器ID #啓動容器
docker stop 容器ID #停止容器
docker restart 容器ID #重啓容器
docker rm 容器ID #刪除容器,刪除容器前需停止該容器
docker rm `docker ps -aq` #刪除全部容器
docker exec -it 容器id或容器名字 /bin/bash 進入docker容器進行管理