赞
踩
Docker容器化技术极大提升了软件交付效率,本文讲述在Windows系统上Docker容器的基本使用。
Windows系统安装Docker Toolbox,安装完后,会有Docker Quickstart Terminal和Kitematic两个快捷方式。
Docker Quickstart Terminal会进入命令行终端,Kitematic是一个Docker的GUI工具,可以在图形界面管理Docker镜像。
进入Docker Cli终端执行常用的Docker命令,实现容器的Build, Ship, Run功能。
# 下载镜像
docker pull centos
docker images
docker images 查看本地镜像列表:
也可以在Kitematic中查看Docker镜像:
# 运行一个Docker实例 docker run -d -p 9000:80 nginx # 查看运行的实例 docker ps # 进入容器内bash终端 docker exec -it badd967af535 bash # 关闭Docker实例 docker stop badd967af535 # 关闭所有实例 docker stop $(docker ps -q) # 删除Docker镜像 docker rmi a47a5669ac57
普通应用要构建为Docker镜像,需要一个Dockerfile文件,它是构建镜像的脚本文件,然后使用docker build 命令构建镜像。
例如用Node.js搭建个人博客,然后构建成名为 node-blog 的镜像:
npm的package.json配置:
{ "name": "node-blog", "version": "1.0.0", "main": "app.js", "private": true, "scripts": { "start": "node app.js" }, "dependencies": { "express": "~4.15.2" }, "keywords": [ "Node.js", "Docker" ], "author": "Terry" }
只开启一个静态网页服务,应用主体app.js只有几行代码:
var express = require('express');
var app = express();
app.use(express.static(__dirname + '/public/'));
app.listen(3000);
编写Dockerfile文件:
FROM node:alpine
MAINTAINER Terry <2219569347@qq.com>
WORKDIR /app
COPY package.json .
RUN npm install --registry=https://registry.npm.taobao.org
COPY . /app
CMD ["npm","start"]
构建Docker镜像:
docker build -t yunterry/node-blog:latest .
构建完成后通过 docker images 可以看到该镜像。
Docker Hub可以免费托管和分享Docker镜像,类似于GitHub
把 node-blog 镜像push到Docker Hub:
# 登录Docker Hub
docker login
# 上传镜像
docker push yunterry/node-blog
然后在Docker Hub官网就可以搜到该镜像:
https://hub.docker.com/r/yunterry/node-blog
可以发现Docker镜像仓库的设计思想与git如出一辙,使用方法也基本类似。
Docker的好处是不担心运行环境的变化,保证运行效果一致性,在另一台主机上运行博客镜像:
# 从远程仓库下载镜像
docker pull yunterry/node-blog
# 运行node-blog镜像
docker run -d -p 5230:3000 yunterry/node-blog
该镜像在容器内启动的是3000端口,映射到容器外5230端口。
浏览器打开 http://192.168.99.100:5230
示例代码:https://github.com/yunTerry/node-blog
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。