Docker容器的基本使用

Docker容器化技术极大提升了软件交付效率,本文讲述在Windows系统上Docker容器的基本使用。

Docker安装

Windows系统安装Docker Toolbox,安装完后,会有Docker Quickstart Terminal和Kitematic两个快捷方式。

Docker Quickstart Terminal会进入命令行终端,Kitematic是一个Docker的GUI工具,可以在图形界面管理Docker镜像。

常用的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镜像

普通应用要构建为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 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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值