Docker常用命令总结

docker有三大知识点:镜像(image)、容器(container)、仓库(repository)

镜像就是一个只读的模板,一个镜像可以创建多个容器。有了镜像才能够创建容器。而仓库是集中存放镜像文件的场所

个人粗浅的理解:用VMware虚拟机举例,镜像是光盘映像文件 (.iso),用iso可以创建虚拟机(相当于用镜像创建容器)。而仓库是集中存放镜像文件的场所。

Docker相关

配置镜像加速器

针对Docker客户端版本大于 1.10.0 的用户

您可以通过修改daemon配置文件/etc/d

ocker/daemon.json来使用加速器

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://1oelnfas.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

镜像常见代码

查看主机所有镜像

docker images

搜索镜像资源

docker search 【镜像名】

下载镜像资源

docker pull 【镜像名】

删除镜像

docker rmi         //rmi明显是和删除容器里的rm区分
-f 【镜像id】 删除指定镜像
-f 镜像id 镜像id 镜像id:删除指定多个镜像
-f $(docker images -aq):删除全部镜像`

容器常见代码

有了镜像才能够创建容器,就像有iso映象文件才能创建虚拟机,

新建容器并启动

docker run [可选参数] [镜像名]

可选参数:
-p: 指定端口映射,格式为【主机(宿主)端口:容器端口】
-P: 随机端口映射,容器内部端口随机映射到主机的端口
-d: 后台运行容器,并返回容器ID;
-it:使用交互方式运行,进入容器查看内容
--name="Name"     容器名字,用于区分容器
【更多参考https://www.runoob.com/docker/docker-run-command.html】

列出所有运行的容器

docker ps [可选参数]

参数说明
-a: 列出当前正在运行以及历史运行过的容器
-n=? :显示最近创建的容器
-q:只显示容器编号

容器不停止退出(后台运行)

Ctrl+p+q

启动容器

docker start 【容器id】

重启容器

docker restart 【容器id】

停止运行中的容器

docker stop 【容器id】

强制停止运行中的容器

docker kill 【容器id】

删除容器

docker rm 【容器id】
//不能删除正在运行的容器,强制删除用rm -f
删除所有容器:
docker rm -f $(docker ps -aq)
docker ps -a -q|xargs docker rm

从容器停止并退出

Exit

显示docker版本、系统信息

docker version  //版本
docker info   //显示docker的系统信息(包括镜像和容器数量)

存出镜像为.tar

docker save -o  【文件名.tar】      【镜像名字】
docker save -o   ubuntu_14.04.tar   ubuntu:14.04
docker save -o   sqli-labs.tar      acgpiano/sqli-labs
docker save -o   My_wordpress.tar   wordpress

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fuaR56yK-1657618895186)(C:\Users\WYJ\AppData\Roaming\Typora\typora-user-images\image-20220712170238852.png)]

载入tar为镜像

docker load --input 【文件名.tar】 
docker load --input ubuntu_14.04.tar 
或者docker load < ubuntu_14.04.tar

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HaeEn1l7-1657618895190)(C:\Users\WYJ\AppData\Roaming\Typora\typora-user-images\image-20220712170403747.png)]

暂停正在运行的容器

docker pause 【容器id】
例如:docker pause 96c3de6f5678
暂停的容器在docker ps里会被标出

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IoAn74AE-1657618895191)(C:\Users\WYJ\AppData\Roaming\Typora\typora-user-images\image-20220712170527070.png)]

恢复被暂停的容器

docker unpause 【容器id】
例如:docker unpause 96c3de6f5678