docker常用命令

## 查看docker版本和信息
#查看docker-cli的版本
docker --version
#查看docker版本和信息
docker version
docker info
 
## docker镜像相关命令
#拉取镜像
docker pull [imgName:tag]
#运行镜像,执行后会生成一个容器
docker run [imgName:tag/imgID]
#查看所有的镜像
docker images
#删除镜像 执行rmi命令前必须删除所有该镜像的container
docker rmi [imgName:tag/imgID]
#查看所有的容器,没有-a表示查询所有正在运行中的容器
docker container ls -a
#查看docker正在运行和已经停止的容器
docker ps -a
#启动容器
docker start [ctnName/cID]
#停止容器
docker stop [ctnName/cID]
#删除容器,执行rm命令前必须先停止该容器
docke rm [ctnName/cID]
 
##清理镜像和容器
#删除所有的镜像和容器
docker kill $(docker ps -q) ; docker rm $(docker ps -a -q) ; docker rmi $(docker images -q -a)
#删除所有的容器
docker kill $(docker ps -q) ; docker rm $(docker ps -a -q)
#清除名称为none的镜像
docker ps -a | grep "Exited" | awk '{print $1 }'|xargs docker stop
docker ps -a | grep "Exited" | awk '{print $1 }'|xargs docker rm
docker images|grep none|awk '{print $3 }'|xargs docker rmi
 
 
 
 
Dockerfile文件
#拉取runtime父镜像,运行aspnet core应用必须要用runtime
FROM microsoft/dotnet:2.2-aspnetcore-runtime
#设置容器工作目录
WORKDIR /DockerDemo
#把当前目录的所有文件copy到工作目录中
COPY . /DockerDemo
#暴露一个端口让外部可以访问
EXPOSE 80
#容器入口命令,即容器启动时执行dotnet DockerDemo.dll命令
ENTRYPOINT ["dotnet", "DockerDemo.dll"]
 
 
创建镜像
docker build -t name:tag .
 
运行容器
docker run -d -p 8080:80 name:tagf
 
进入容器
docker exec -it  [ctnName/cID] /bin/bash
 
查看容器信息
docker stats
 
开启远程访问
 
vi /lib/systemd/system/docker.service
ExecStart=/usr/bin/dockerd -H fd:// -H tcp://172.17.16.4:2375
systemctl daemon-reload
service docker restart
 
 
 
你可能会看到很多为<none>的镜像,这些是临时镜像,可以通过命令docker rmi $(docker images -f "dangling=true" -q)删除。
原文地址:https://www.cnblogs.com/lostsea/p/15560767.html