Docker

2016-10-15  本文已影响0人  JackyBA

ref: The Doocker Book

Docker

Ch 2 安装Docker

容器是直接运行操作系统内核之上的用户空间。

Docker核心组件:

Docker用Registry来保存用户构建的镜像。
Registry分为:1. 公共;2. 私有。

Mac OS X Docker安装说明:
ref: https://docs.docker.com/docker-for-mac/
按照Docker官网安装Docker.app后需要设置PATH环境变量否则无法找到
docker命令;
设置方法:

vim ~/.bash_profile 
. .bash_profile
export PATH=/Applications/Docker.app/Contents/Resources/bin:$PATH

Ch 3 Docker入门

Docker命令

含义 命令
创建容器 docker run --name your_container_name -i -t ubuntu /bin/bash
启动容器 docker start your_container_id_or_name
重启容器 docker restart your_container_id_or_name
关闭容器 docker stop your_container_id_or_name
删除容器 docker rm your_container_id_or_name
附着会话 docker attach your_container_id_or_name
强制退出容器 docker kill your_container_id_or_name
查看详细容器配置 docker inspect your_container_id_or_name
查看容器安装信息 docker info
查看正在运行的容器 docker ps
查看所有容器 docker ps -a
查看容器正在运行的进程 $ docker top your_container_id_or_name
查看容器端口映射 docker port
查看容器日志 docker logs
docker run --name deamon_container_test -d ubuntu /bin/sh -c "while true; do echo Hello world; sleep 1; done"
docker logs --tail 100 your_container_name
含义 命令
查看镜像 docker images
搜索 docker search image_name
构建镜像 docker build -t your_image dockerfile_dir
删除镜像 docker rmi images_id
推送镜像 docker push images_id
含义 命令
创建网络 docker network create

Ch 4 构建镜像

Docker构建镜像的方式:

  1. $ docker commit
  2. $ docker build

Dockerfile语法结构:

# 我是注释
COMMAND arguments
Dcokerfile 执行流程;
  1. Docker从基础镜像运行一个容器;
  2. 执行一条指令,对容器做出修改;
  3. 执行类似$ docker commit 的操作,提交一个新的镜像层;
  4. Docker在基于刚提交的镜像运行一个新容器;
  5. 执行Dockerfile中的下一条指令,知道所有指令都执行完毕。
Dockerfile 指令
命令 含义
FROM 指定基础镜像
CMD 指定一个容器启动时要运行的命令,注意:$ docker run 命令可以覆盖CMD命令,CMD命令只能指定一条,如果指定多条则最后一条生效
RUN 指定镜像被构建时运行的命令
ENTRYPOINT 与CMD指令类似,但$ docker run命令行指定的任何参数都会被当做参数再次传递给ENTRYPOINT指令中指定的指令
WORKDIR ENTRYPOINT或CMD命令运行的工作目录
ENV 在镜像构建过程中设置环境变量
USER 指定运行镜像的用户,默认:root
VOLUME 向基于镜像创建的容器添加卷
ADD 用来指定将构建环境下的文件和目录复制到镜像中
COPY 复制文件,类似ADD但不会自动提取和解压
LABEL 为Docker镜像添加元数据
ONBUILD 能为镜像添加触发器
$ docker run -d -p 80 --name web-server jackycser/web-server nginx -g "deamon off;"

Ch 5 使用Docker测试静态网站

卷:是在一个或者多个容器内被选定的目录,可以绕过分层的联合文件系统(Union File System),为Docker提供持久数据或者共享数据。
这意味着对卷的修改会直接生效,并绕过镜像。
当提交或者创建镜像时,卷不被包含在镜像里。

5.3 Docker 用于持续集成

Ch 6 使用Docker构建服务

6.2 使用Docker构建一个Java应用服务

Ch 7 Docker 编配和服务发现

Docker编配:
服务的自动配置、协作和管理服务的过程。
在Docker的世界里,编配用来表述一组实践过程,这个过程会管理运行在多个Docker容器里的应用,而这些Docker容器有可能运行在多个宿主主机上。

容器通过某些方法并指定一些运行时的属性来和其他容器产生交互。

  1. 调度和集群管理
  2. 服务发现
含义 命令
启动 docker-compose up
查看日志 docker-compose logs
停止 docker-compose stop
查看进程 docker-compose ps
删除服务 docker-compose rm

7.3 Docker Swarm

Docker Swarm是一个原生的Docker集群管理工具。

Ch 8 使用Docker API

在Docker 生态系统中一共有3种API:

  1. Registry API:提供了与来存储Docker 镜像的 Docker Registry 集成的功能;
  2. Docker Hub API:提供了与Docker Hub集成的功能;
  3. Docker Remote API:提供了与Docker 守护进程进行集成的功能。
    所有这3种API都是RESTful风格的。
上一篇下一篇

猜你喜欢

热点阅读