服务计算docker实践

既然谈到服务计算,有一个问题肯定是不得不提到的那就是docker,其实最开始docker是云计算中非常有名的几个aas中的一个也就是paas和saas而产生的.
作为一个应该能够快速部署的应用,很重要的一步就是应该能够直接运行在各种操作系统上,但是这就涉及到非常严肃的问题就是因为一个应用的运行不仅仅只涉及到我们所编出的代码,很重要的一部分是我们所引用的库和所必须的运行环境,这就涉及到需要有一个方法能够把一个应用运行所需要的一切环境全部都打包在一起,如果可以的话甚至可以把操作系统的内核都打包的一个技术,这就是docker所可以完成的任务.

Docker是一个虚拟环境容器,可以将你的开发环境、代码、配置文件等一并打包到这个容器中,并发布和应用到任意平台中。

说到这里可能大家会觉得这简直即使程序员的屠龙宝刀

  1. 安装docker
    在apt中注册docker的资源sudo add-apt-repository \ "deb [arch=amd64] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) \ stable"
    让配置更新sudo apt-get update
    安装dockersudo apt-get install docker-ce

可以先测试一下是不是已经安装好了。

docker run -d --name=web -p 80:80 nginx:latest

运行预设值的nginx服务器

使用docker ps命令,可以列出正在运行的容器,可以看到,刚才基于nginx镜像创建的容器已经处于运行状态了:

docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                         NAMES
a89d281829f9        nginx:latest        "nginx -g 'daemon ..."   8 minutes ago       Up 8 minutes        0.0.0.0:80->80/tcp, 443/tcp   web

这就代表着已经运行起了一个和80端口绑定的web服务。

在这里插入图片描述
可以顺利访问。

为了进一步探索docker的操作环境

docker exec -i -t web bash

ps -l
PID   USER     TIME   COMMAND
    1 root       0:00 nginx: master process nginx -g daemon off;
    5 nginx      0:00 nginx: worker process
   23 root       0:00 ps -l

可以看到docker自己有了一个根文件夹,也就是一个虚拟开发环境。

  1. 配置web所需容器安装所需镜像
  2. docker pull tomcat
  3. docker pull tomcat``````docker pull tomcat

启动容器docker run -it --rm -p 8888:8080 tomcat:latest

# install simple http server for serving static contentRUN 
npm install -g cnpm --registry=https://registry.npm.taobao.org && cnpm install -g http-server
# make the 'app' folder the current working directory
WORKDIR /app
# copy both 'package.json' and 'package-lock.json' (if available)
COPY package*.json ./
# install project dependencies# RUN npm install
RUN npm install
# copy project files and folders to the current working directory (i.e. 'app' folder)COPY . .
# build app for production with minificationRUN npm run build
EXPOSE 8080

填写所需的docker file

上面的Dockerfile的说明如下:
FROM指令制定了该镜像的基础镜像为node。
COPY指令将宿主机的代码文件和配置文件复制到容器环境的对应位置。
接着RUN指令来为应用安装必要的依赖。
上面每一条指令都会由docker容器执行然后提交为一个镜像,叠在原来的镜像层的上方,最后得到一个拥有许多镜像层叠加的最终镜像。完成Dockerfile的编写后,只需要用docker build命令就能构建出一个新的镜像:

运行docker容器docker build -t swapi docker run -it -p 8080:8080 swapi

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值