亲手搭建一个docker 应用环境

11 篇文章 1 订阅
2 篇文章 0 订阅

一、docker是什么?

二、docker的架构

三、搭建一个docker应用环境

一、docker是什么?

简单来说,docker就是提供了比虚拟机更轻便灵活的应用运行的一套环境。Docker是一个使用Go语言开发的开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的机器上。

二、docker的架构

网上找到的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即操作系统和一些列应用集成的镜像,微服务应用可以在容器内运行。比较灵活、节省资源。

三、搭建一个docker应用环境

(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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

岚尹_Nicole

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值