平時在使用 Docker 時,經常會碰到忘記相關命令的情況,因此平時忘記一個就會記錄一個,經過多年的記錄,Docker 相關的筆記已經記錄了不少。
最近在看代碼審計的時候又提到了 Docker,正好借著這個機會好好的把原來記錄的比較亂的 Docker 筆記整理一下。
如果你也面臨過「在使用 Docker 時,時不時就會忘記某條命令」的情況,那麼我相信本篇文章應該會對你有所幫助。
0x01 安裝1、安裝 Dockercurl -fsSL https://get.docker.com/ | sh或者
wget -qO- https://get.docker.com/ | sh在命令中輸入以下命令,如果輸出 helloword 表示 Docker 安裝成功。
docker run ubuntu echo "helloworld"2、安裝 Docker-Composesudo curl -L "https://github.com/docker/compose/releases/download/1.23.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-composesudo chmod +x /usr/local/bin/docker-composedocker-compose --version3、Docker 設置國內鏡像源vi /etc/docker/daemon.json
{ "registry-mirrors": ["http://hub-mirror.c.163.com"]}
systemctl restart docker.service國內加速地址如下:
Docker中國區官方鏡像https:
網易http:
中國科技大學https:
阿里雲容器 服務https:0x02 使用1、搜索鏡像2、拉取鏡像3、查看鏡像文件查看鏡像層級關係
docker images tree
docker images --tree4、查看docker所有進程5、開啟容器開啟指定容器,這裡的容器名為 Web
啟動所有容器
docker start $(docker ps -aq)6、進入正在運行的容器docker 創建的
docker-compose 創建的
container_name 需要在 docker-compose.yml 文件中查看
docker-compose exec container_name bash7、指定埠啟動創建進入容器docker run -p 9992:80 -p 8882:8888 -it ubuntu /bin/bashdocker run --name web1 -p 9991:80 -p 8881:8888 -it centos /bin/bash8、導出導入鏡像export\import 導入導出
docker export web > /home/docker_web.tardocker import /home/docker_web.tarsave\load 導入導出
docker save 9610cfc68e8d > /home/docker_web.tardocker load < /home/docker_web.tarexport\import 與 save\load 的區別:
9、修改正在運行的容器埠映射a、停止容器
b、 停止 docker 服務(systemctl stop docker)
c、 修改這個容器的 hostconfig.json 文件中的埠(原帖有人提到,如果 config.v2.json 裡面也記錄了埠,也要修改)
cd /var/lib/docker/3b6ef264a040*
vi hostconfig.json
"PortBindings":{}
"PortBindings":{"3306/tcp":[{"HostIp":"","HostPort":"3307"}]}d、啟動docker服務(systemctl start docker)
e、啟動容器
10、文件傳輸docker cp 本地文件路徑 ID全稱:容器路徑
docker cp ID全稱:容器文件路徑 本地路徑11、後臺運行docker啟動全新的容器,該命令會在後臺運行容器,並返回容器ID
對於現有的容器
0x03 卸載1、停止容器停止指定容器
停止所有容器
docker stop $(docker ps -aq)2、刪除容器和鏡像刪除指定容器
docker container rm d383057928b4刪除所有已退出的容器
docker rm $(docker ps -q -f status=exited)刪除所有已停止的容器
docker rm $(docker ps -a -q)刪除所有正在運行和已停止的容器
docker stop $(docker ps -a -q)docker rm $(docker ps -a -q)刪除所有容器,沒有任何標準
docker container rm $(docker container ps -aq)Docker 資源清理
docker container prune docker image prune docker network prune docker volume prune docker system prune docker system prune --all --force --volumns刪除所有鏡像
docker rmi $(docker images -q)3、卸載Dockeryum list installed | grep dockeryum -y remove docker.x86_644、卸載Docker-composerm /usr/local/bin/docker-compose參考地址:
https://blog.csdn.net/a906998248/article/details/46236687
https://blog.csdn.net/wesleyflagon/article/details/78961990
原文連結:
https://teamssix.com/211028-204606.html
往期推薦
【建議收藏】歷時一年的內網學習筆記合集
內網學習筆記 | 30、跨域安全(完結)
Kerberos 協議詳解與利用