1.Docker的作用
Docker是一个开源的容器引擎,目的是更快的打包、测试和部署应用程序。Docker容器相当于一个轻量级的操作系统,容器之间是资源隔离的,但是都可以同时运行在同一个宿主机上。
2.Docker核心概念
Docker Client
:Docker客户端,接受用户的命令和反馈响应。Images 镜像
:Docker容器运行的模板载体,所有的容器要运行起来必须得有镜像的支持。Container 容器
:通过镜像运行得到的一个容器实例,一个镜像可以运行出多个容器实例。容器和镜像的关系类似于面向对象里面的对象和类的关系。Registry 仓库
:镜像仓库,类似于我们的Maven仓库一样,可以将镜像发布到仓库中,以供其它应用拉取使用。
3.Docker常用命令
docker search tomcat
:通过docker search可以在Docker仓库中搜索需要的镜像。
docker pull java:8
:拉取/下载镜像到本地。
docker images
:在控制台陈列出本地已经下载的镜像列表。
docker rmi java
:删除镜像,强制删除可以在后面跟一个 -f
docker run -d -p 8081:8080 tomcat
:创建并启动容器。-d 表示后台运行。-p表示端口映射。
docker ps
:在控制台陈列出正在运行的容器列表。
docker stop 容器ID
:停止指定容器。
docker kill 容器ID
:强制杀死容器并停止。
docker start 容器ID
:启动停止中的容器。
docker exec 容器ID
:进入容器命令行环境,一般是进入容器里面安装一些插件或者排查日志等。
docker rm 容器ID
:删除已经停止的容器,如果带上 -f 则可以删除正在运行中的容器。
4.Dockerfile
将应用程序封装成一个Docker认识的镜像可以使用Dockerfile技术来做,Dockerfile本质是一个文本文件,里面编写一些命令。这些命令必须符合Dockerfile格式要求。
最后,通过docker build -t 应用程序名来构建Docker镜像,然后通过docker run 镜像名就可以启动容器并启动了我们的应用程序。
5.Docker Compose 容器编排
现在主流的公司并没有采用这种Docker Compose编排技术,而是使用K8s去做,但是Docker Compose也是提供了一个通过一个编排文件,在文件里面编写编排Docker容器的docker命令,然后就会自动的启动协调各个容器的启动功能。