赞
踩
简单来说,docker就是提供了比虚拟机更轻便灵活的应用运行的一套环境。Docker是一个使用Go语言开发的开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的机器上。
网上找到的docker的一个架构图。
几个关键的概念:
(1)Docker Client : Docker 提供给用户的客户端。Docker Client提供给用户一个终端,用户输入Docker提供的命令来管理本地或者远程的服务器。
(2)Docker Daemon : Docker服务的守护进程。每台服务器(物理机或虚机)上只要安装了Docker的环境,基本上就跑了一个后台程序Docker Daemon,接收Docker Client 发过来的指令,并对服务器的进行具体操作。
(3)Docker Images : 俗称Docker的镜像。你暂时可以认为这个就像我们要给电脑装系统用的系统CD盘,里面有操作系统的程序,并且还有一些CD盘在系统的基础上安装了必要的软件,做成的一张 “只读” 的CD。
(4)Docker Registry : 这个可认为是Docker Images的仓库,用来管理Docker镜像的,提供了Docker镜像的上传、下载和浏览等功能,并且提供安全的账号管理可以管理只有自己可见的私人image。docker也提供了官方的Registry,叫做Dock Hub(http://hub.Docker.com)
(5)Docker Container : 俗称Docker的容器,Docker Container可以理解为将一台服务器逻辑切割为几个更小的物理环境,内存、硬盘等这些服务器资源都按照指定的数字分配给docker,image即操作系统和一些列应用集成的镜像,微服务应用可以在容器内运行。比较灵活、节省资源。
(1)前置要求:必须是 64 位操作系统,建议内核在 3.8 以上,可通过以下命令查看centos系统的内核
uname -r
(2)安装 docker。首先下载 docker安装包,安装命令如下。
- rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
- //下载安装包
- yum -y install docker-io //安装命令
- docker version //查看是否安装成功,如结果返回docker版本,则安装成功
- service docker start //启动docker
(3)安装好 docker 后,我们需要下载并安装对应的镜像,镜像要从镜像仓库拉取。镜像仓库比较通用的是 Docker Hub官网:https://hub.docker.com/ 官方公共提供的镜像仓库,或者自己搭建的私有镜像仓库。
a)编辑配置文件,添加镜像仓库地址,这样镜像仓库就配好了。
vim /etc/docker/daemon.json
-
- "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
- }
c) pull 拉取镜像, push 上传镜像。
- docker pull centos:latest
- docker push centos:latest
d) 制作自定义镜像。
docker commit -m="test update" -a="wangsir" 44652ba46352 template
解析 :-m:提交的描述信息,-a:指定镜像作者,44652ba46352:容器ID
(4)启动容器并指定相关参数。
docker run -it -p 8080:8080 -v /var/dockerRun:/mnt/software/ docker.io/centos /bin/bash
解析:
-i:表示以“交互模式”运行容器
-t:表示容器启动后会进入其命令行
-v:表示需要将本地哪个目录挂载到容器中,格式:-v <宿主机目录>:<容器目录>
-p: 映射宿主机指定端口到容器指定端口
到这里一个容器就搭建好了,我们可以在容器里运行应用程序了。
(5)应用程序发布和访问。
外网不可以直接访问容器IP和端口,但可以访问主机IP地址和端口,主机又可以访问容器端口,所以只要做一个映射,把主机的ip地址和端口信息映射到容器的某个端口上,则可以通过访问主机端口进而访问容器端口。容器内应用部署,指定发布端口为8080:
java -jar xxx.jar --server.port=8080
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。