暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

什么是Docker及常见Docker命令汇总(记录)

670

  Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows操作系统的机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口  

  简单来说,docker是一个用Go语言实现的开源项目,可以让我们方便的创建和使用容器,docker将程序以及程序所有的依赖都打包到docker container,这样你的程序可以在任何环境都会有一致的表现,这里程序运行的依赖也就是容器就好比集装箱,容器所处的操作系统环境就好比货船或港口,程序的表现只和集装箱有关系(容器),和集装箱放在哪个货船或者哪个港口(操作系统)没有关系

  因此我们可以看到docker可以屏蔽环境差异,也就是说,只要你的程序打包到了docker中,那么无论运行在什么环境下程序的行为都是一致的,程序员不会再有“在我的环境上可以运行”,真正实现“build once, run everywhere”。

  此外docker的另一个好处就是快速部署,这是当前互联网公司最常见的一个应用场景,一个原因在于容器启动速度非常快,另一个原因在于只要确保一个容器中的程序正确运行,那么就能确信无论在生产环境部署多少都能正确运行

我们可以简单的把image理解为可执行程序,container就是运行起来的进程

(1)查看docker容器版本:docker version

(2)查看docker容器信息:docker info

(3)查看docker容器帮助:docker --help

(4)拉取镜像: docker  pull  ${CONTAINER NAME}

(5)查看本地所有镜像:  docker images

(6)查看所有正在运行的容器,加-q返回iddocker ps

(7)查看所有容器,加-q返回iddocker ps -a

(8)删除镜像:  docker  rmi  ${IMAGE NAME/ID}

(9)删除所有镜像: docker rmi ${docker images -a -q}

(10)删除容器:  docker  rm  ${CONTAINER NAME/ID}

(11)显示运行容器的日志: docker  logs  ${CONTAINER NAME/ID}

(12)设置容器名称: --name  ${container name}

(13)映射主机和容器内的端口: -p ${host port}:${container port}

(14)添加环境变量: -e ${env name} =${env value}

(15)后台运行: -d

(16)将主机目录挂载到容器内: -v ${host foler path}:${container folder path}

(17)显示所有退出的容器 docker ps -f status=exited

(18)重启所有正在运行的容器: docker restart ${docker ps -q}

(19)停止所有容器: docker stop ${docker ps -a -q}

(20)删除所有容器: docker rm ${docker ps -a -q}

(21)删除所有退出的容器:  docker rm ${docker ps -f status=exited}

(22)启动所有容器: docker start ${docker ps -a -q}

(23)显示一个容器的top信息:docker top ${CONTAINER NAME/ID}

(24)显示容器统计信息(正在运行):docker stats

(25)显示所有容器的统计信息(包括没有运行的): docker stats -a

(26)显示所有容器的统计信息(包括没有运行的)只显示一次:docker stats -a --no-stream

(27)统计容器信息并以使用流量作为倒序:docker stats --no-stream | sort -k8 -h

(28)显示硬盘占用: docker system df

(29)显示容器的实时事件: docker system events

(30)显示系统信息: docker system info

(31)清理文件: docker system prune

 

文章转载自琢磨先生DataBase,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论