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>