什么是Docker
Docker特性
Docker三个基本要素
容器与虚拟机
容器解决的问题
Docker镜像
传统虚拟机安装ubuntu:14.04会包含两部分,第一,某一个Linux内核的发行版本,比如Linux3.8版本的内核;第二,第一个特定的Ubuntu发行版,这部分内容不包含Linux内核,但是包含Linux之外的软件管理方式,软件驱动,如apt-get软件管理包等。
Docker镜像和容器
镜像就是一堆只读层,是静态的内容;容器属于动态的内容。Docker镜像是Docker容器运行的基础。
如何在Docker中运行nginx服务
两个思路:
1.先pull一个centos镜像,再在该镜像上装一个nginx。
2.直接pull装好的nginx镜像。
Docker服务端和客户端
Docker安装
安装最新docker:
wget -qO-https://get.docker.com/ |sh
以非root用户直接运行docker:
sudousermod –aGdockertian
安装Centos7镜像
进入容器
可以用同一个镜像启动多个Docker容器,这些容器启动后都是活动的,彼此相互隔离。
docker run和docker start区别
Dockerrun相当于执行了两步操作:将镜像放入容器(docker create),然后将容器启动,使之变成运行时容器(docker start)。
容器的启动和停止
退出Docker容器
当docker attach进入时:
当docker exec进入时:
Docker挂载到本地目录
给运行中的容器添加端口映射
# docker run -p 8080:80 -it3c9d /bin/bash
1.获得容器IP:
docker inspect 'docker-1602' | grep IPAddress
2.Iptable转发端口
iptables-t nat -A DOCKER -p tcp --dport9999 -j DNAT --to-destination 172.17.0.2:9999
shipyard:docker的web界面管理工具
功能:
1.简化对横跨多个主机的Docker容器集群进行管理。
2.可以通过web用户界面,大致浏览相关信息。比如容器使用多少处理器和内存资源、在运行哪些容器,以及检查所有集群上的事件日志。
shipyard部署
curl -s https://shipyard-project.com/deploy | bash -s
根据容器创建镜像
将镜像上传到自己的docker云