认识docker及常用的API

docker简介

什么是docker?

  • Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。

Docker的应用场景?

  • web应用的自动化打包和发布
  • 自动化测试和持续集成、发布
  • 在服务型环境中部署和调整数据库或者其他的后台应用
  • 从头编译或者扩展有的openShift或cloud Foundry平台来搭建自己的PaaS环境

ubuntu安装docker

sudo apt-get update #更新ubuntu的镜像源
sudo apt-get install docker #安装docker
sudo service docker start #启动docker
docker run hello-world #运行docker 

CentOS Docker 安装

yum -y install docker #安装docker
service docker start #启动docker
docker run hello-world #运行docker

docker API 解释

tag :标记本地镜像

  • 将ubuntu:16.04 的标记改为 ubuntu/nodeJs:v8.1.0
  • docker tag ubuntu:16.04 ubuntu/nodeJs:v8.1.0

run :创建一个新的容器并运行一个命令

  • -d --detach 后台运行容器,并返回容器ID
  • -i 以交互模式运行容器,通常与-t同时使用
  • -t 为容器重新分配一个伪输入终端,通常与-i同时使用
  • --name=“textNginx” 为容器指定一个名称
  • --dns 8.8.8.8 制定容器使用的DNS服务器,默认和宿主主机一样
  • -h 制定容器的hostname
  • -e --env 设置环境变量
  • -m --memory 设置容器使用内存的最大值
  • --link 添加链接到另一个容器
  • --expose 开放一个端口或一组端口
  • -v volume
  • -w --workdir 工作目录
  • -u --user username
  • -c cpu shares

exec :在运行的容器中执行命令

  • -d all 在后台运行
  • -i 以交互模式运行,即使没有也也会以交互模式运行
  • -t 分配一个伪终端

ps : 列出当前正在运行的容器

  • -a --all 列出所有的容器
  • -f --find 根据条件过滤显示容器
  • -l --latest 现实最近创建的容器
  • -s --size 显示文件的大小
  • -q --quiet 只显示容器编号

rm : 删除一个或多个容器

  • -f 强制删除一个正在运行的容器
  • -l --link 移除容器间的网络连接
  • -v --volumes 删除与容器关联的卷
    批量删除本地容器 docker rm $(docker ps -a -q)

rmi : 删除本地一个或者多个镜像

  • -f 强制删除一个镜像
    批量删除本地镜像 docker rmi $(docker images -a -q)

images : 列出本地镜像

  • -a all 列出所有的本地镜像
  • -q 只显示镜像ID

build : 使用Dockerfile创建镜像

  • -c 限定CPU配额
  • -m 限定内存配额
  • -f 指定要使用Dockerfile的path
posted @ 2017-10-12 00:20  烁儿  阅读(969)  评论(0编辑  收藏  举报