docker有两个版本。社区版本(se)和企业版本(ee)。php
Docker 是一个开源的应用容器引擎,让开发者能够打包他们的应用以及依赖包到一个可移植的容器中,而后发布到任何流行的 Linux 机器上,也能够实现虚拟化。容器是彻底使用沙箱机制,相互之间不会有任何接口。html
Docker 使用客户端-服务器 (C/S) 架构模式,使用远程API来管理和建立Docker容器。Docker 容器经过 Docker 镜像来建立。容器与镜像的关系相似于面向对象编程中的对象与类。mysql
借助于namespace的隔离机制和cgroup限额功能,LXC提供了一套统一的API和工具来创建和管理container,因此docker须要linux内核的支持。linux
docker 不是虚拟机,仅仅是一个容器。因此不会有init进程。reboot是没有的, rc 也是不存在的。咱们能够理解成轻量级的虚拟机,可是他又不是真正虚拟机。web
接下来是记录我安装docker的一些问题以及步骤sql
官方提供了ubuntu系列机器的自动安装脚本。因此执行他的脚本就行了。脚本地址https://get.docker.com/docker
因此执行下面命令:shell
$ wget -qO- https://get.docker.com/ | sh
或者apache
$ curl https://get.docker.com/ | sh
一些docker的名次解释一下编程
iso称为镜像。同一个东西。
使用镜像建立的一个运行环境。相似于虚拟机的建立好的一台虚拟机环境。
使用中遇到的一些问题。记录了下来。
等待补充
不是root用户自行docker的一些命令会报一些错误。必须加sudo权限。避免每次都加sudo。
下面是解决办法:
$ sudo groupadd docker
$ sudo gpasswd -a ${USER} docker
$ sudo service docker restart
而后就是从新进入命令行,由于有缓存。因此须要从新进入。
下面对命令进行一些解释,或者说是翻译。
docker --help --config string //后面跟上配置文件路径 ,默认是 /root/.docker
运行一个全新的容器。
将hub.docker.com上已有的镜像下载到docker里面。
能够经过 docker search [keywpord] 来进行查找
这个命令是查看正在运行的容器。
-a 参数,列出全部的容器
启动容器的命令
-i 交互式界面
1.中止全部的container,这样才可以删除其中的images:
docker stop $(docker ps -a -q)
若是想要删除全部container的话再加一个指令:
docker rm $(docker ps -a -q)
2.查看当前有些什么images
docker images
3.删除images,经过image的id来指定删除谁
docker rmi <image id>
想要删除untagged images,也就是那些id为
docker rmi $(docker images | grep "^<none>" | awk "{print $3}")
要删除所有image的话
docker rmi $(docker images -q)
$ docker pull ubuntu:16.04
将本机8080端口映射到容器的80端口
$ docker run -i -t -p 8080:80 ubuntu:16.04 /bin/bash
$ apt-get update $ apt-get install apache2 php7.0 mysql-server libapache2-mod-php7.0
目的是为了都使用80 端口,参考资料
步骤:
$ a2enmod proxy proxy_balancer proxy_http
注意: a2enmod 是添加模块 a2dismod 是删除模块
<VirtualHost *:80> #配置站点的域名 ServerName xxx.com #配置站点的管理员信息 ServerAdmin xxx@gmail.com #off表示开启反向代理,on表示开启正向代理 ProxyRequests Off ProxyMaxForwards 100 ProxyPreserveHost On #这里表示要将如今这个虚拟主机跳转到本机的4000端口 ProxyPass / http://127.0.0.1:4000/ ProxyPassReverse / http://127.0.0.1:4000/ <Proxy *> Order Deny,Allow Allow from all </Proxy> </VirtualHost>