Docker安裝web
環境:windows7docker
安裝包:DockerToolbox-17.10.0-ce.exe (下載地址:http://mirrors.aliyun.com/docker-toolbox/windows/docker-toolbox/)windows
坑:centos
//啓動包錯: Running pre-create checks... (default) No default Boot2Docker ISO found locally, downloading the latest release... //以後下載ISO 而後被牆。。。
緣由:其實這個報錯不須要下載最新ISO文件,而是Boot2Docker文件沒有放到正確的位置。瀏覽器
解決:複製安裝目錄下的boot2docker.iso到C:\Users\Administrator.Docker\machine\cache到這個目錄下。ui
坑:this
//啓動報錯: Error creating machine: Error in driver during machine creation:This computer doesn't have VT-X/AMD-v enabled. Enabling it in the BIOS is mandatory
緣由:BIOS沒有開啓虛擬化rest
解決:這時就要啓動BIOS的虛擬化設置 | 開啓CPU虛擬化支持。 重啓電腦後按F2或F10進入BIOS界面(不一樣主板型號進入BIOS所需按鍵不一樣)。 進入BIOS界面:Intel Virtualization Technology > Enabled。code
端口映射教程
環境:windows7(Linux下可能不存在這個問題)
坑:
//在docker下部署了web應用服務並進行了端口映射。部署完成後,在瀏覽器中輸入localhost:port沒法訪問對應的web服務
緣由:原來,docker是運行在Linux上的,在Windows中運行docker,實際上仍是在Windows下先安裝了一個Linux環境,而後在這個系統中運行的docker。也就是說,服務中使用的localhost指的是這個Linux環境的地址,而不是咱們的宿主環境Windows。
解決:輸入如下命令查找這個的Linux ip 使用這個ip地址加端口號(ip:port)訪問web應用,訪問成功。
#這個ip地址通常爲192.168.99.100 docker-machine ip default
環境:windows7
坑: 使用docker build 建立新景象,寫好Dockerfile後運行命令
$ docker build -t test/centos:6.7 .
#報如下錯誤
$ error checking context: 'can't stat '\\?\C:\Users\Administrator\AppData\Local\Application Data\Application Data\Application Data\Application Data\Application Data\Application Data\Application Data\Application Data\Application Data\Application Data\Application Data\Application Data\Application ...
緣由:Dockerfile保存位置不對。
解決:正確作法 建立dockerfiles文件夾並進入文件夾:
$ mkdir dockerfiles $ cd dockerfiles
建立並編輯Dockerfile文件:
$ touch Dockerfile $ vi Dockerfile
執行docker build 命令:
docker build -t test/centos:6.7 .
使用docker兩天的感覺:必定要看官網文檔(最好是英文),不要使用國內哪些所謂的教程!!!不要問我爲何???(坑太多。。。)
坑: 使用swarm 新建集羣時遇到雙網卡,未指定IP 報如下錯誤
Error response from daemon: could not choose an IP address to advertise since this system has multiple addresses on different interfaces (10.0.2.15 on eth0 and 192.168.99.100 on eth1) - specify one with --advertise-addr
緣由:因爲有兩個IP,集羣不知道使用哪一個因此報錯。
解決:解決方法報錯信息已經給出提示,使用--advertise-addr 指定IP
$docker swarm init --advertise-addr 192.168.99.100
坑: 使用 docker-compose.yml 運行docker 官網例子時報錯
$docker stack deploy -c docker-compose.yml getstartedlab networks Additional property networks is not allowed #相似錯誤 replicas Additional property replicas is not allowed ...
緣由:docker-compose.yml文件縮進不正確
官網版本:
version: "3" services: web: # replace username/repo:tag with your name and image details image: username/repo:tag deploy: replicas: 5 resources: limits: cpus: "0.1" memory: 50M restart_policy: condition: on-failure ports: - "80:80" networks: - webnet networks: webnet:
個人版本
version: "3" services: web: # replace username/repo:tag with your name and image details image: username/repo:tag deploy: replicas: 5 resources: limits: cpus: "0.1" memory: 50M restart_policy: #縮進錯誤 condition: on-failure #縮進錯誤 ports: #縮進錯誤 - "80:80" #縮進錯誤 networks: #縮進錯誤 - webnet #縮進錯誤 networks: webnet:
解決:修改縮進錯誤,從新運行命令,一切正常。