当前位置:   article > 正文

亲手搭建一个docker 应用环境_docker中可以运行开源项目吗

docker中可以运行开源项目吗

一、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安装包,安装命令如下。

  1. rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
  2. //下载安装包
  3. yum -y install docker-io //安装命令
  4. docker version //查看是否安装成功,如结果返回docker版本,则安装成功
  5. service docker start //启动docker

(3)安装好 docker 后,我们需要下载并安装对应的镜像,镜像要从镜像仓库拉取。镜像仓库比较通用的是 Docker Hub官网:https://hub.docker.com/ 官方公共提供的镜像仓库,或者自己搭建的私有镜像仓库。

           a)编辑配置文件,添加镜像仓库地址,这样镜像仓库就配好了。

vim /etc/docker/daemon.json
  1. "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
  2. }

        c) pull 拉取镜像, push 上传镜像。

  1. docker pull centos:latest
  2. 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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/632177
推荐阅读
相关标签
  

闽ICP备14008679号