Docker初体验——踩过的那些坑!

news/2025/2/25 15:53:15

2018‎年‎3‎月‎6‎日


Docker安装

环境:windows7

安装包:DockerToolbox-17.10.0-ce.exe (下载地址:http://mirrors.aliyun.com/doc...)

//启动包错:
Running pre-create checks...  
(default) No default Boot2Docker ISO found locally, downloading the latest release...  

//之后下载ISO 然后被墙。。。

原因:其实这个报错不需要下载最新ISO文件,而是Boot2Docker文件没有放到正确的位置。

解决:复制安装目录下的boot2docker.iso到C:UsersAdministrator.Dockermachinecache到这个目录下。

//启动报错:
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没有开启虚拟化

解决:这时就要启动BIOS的虚拟化设置 | 开启CPU虚拟化支持。
重启电脑后按F2或F10进入BIOS界面(不同主板型号进入BIOS所需按键不同)。
进入BIOS界面:Intel Virtualization Technology > Enabled。


端口映射

环境: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

2018‎年‎3‎月‎7‎日


环境: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 .

2018年3月8号


使用docker两天的感受:一定要看官网文档(最好是英文),不要使用国内哪些所谓的教程!!!不要问我为什么???(坑太多。。。)


2018年3月9号



使用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:

解决:修改缩进错误,重新运行命令,一切正常。


http://www.niftyadmin.cn/n/1965482.html

相关文章

双11购物节火热,谨防木马乘机而入

腾讯电脑管家 2015/11/12 16:240x00 概况近期11.11购物节,无数的网页、软件都充斥着“血拼双11”的广告,这时的电脑桌面如果多了几个双11相关的快捷方式,或者浏览器主页被锁定成推送网购内容的导航网站,你会不会认为这也是正常的…

Android应用安全开发之防范无意识的数据泄露

gh0stbo 2016/01/29 10:160x00 简介OWASP移动安全漏洞Top 10中第4个就是无意识的数据泄漏。当应用程序存储数据的位置本身是脆弱的时,就会造成无意识的数据泄漏。这些位置可能包括剪贴板,URL缓存,浏览器的Cookies,HTML5数据存储&…

HTML基础 结构,标题h1和段落p 写一个三毛语录

先看代码: 1 <!DOCTYPE html>2 <html>3 <head>4 <meta charset"utf-8">5 <title>HTML:基础教程</title>7 </head>8 <body>9 <h1>三毛语录</h1> 10 <p>1.不做不可及的梦&#xff0c;这使我的睡…

Ubuntu 16.04将左侧面板置于底部

ctrlaltt打开终端&#xff0c;输入&#xff1a; gsettings set com.canonical.Unity.Launcher launcher-position Bottom有Bottom和Left两个选择

语音识别技术受追捧,无法独立工作的“速记神器”何时才能成为新亮点?

从当前来看&#xff0c;速记神器确实为特定人群所需。 近日&#xff0c;搜狗召开发布会&#xff0c;正式推出其自研的速记神器——搜狗听写。这是一款能够将语音实时转变成文字的速记工具&#xff0c;拥有转写和听写两种模式&#xff0c;主要面向记者、编辑、作家等文字工作者…

JS判断是否为IE浏览器及IE版本

2019独角兽企业重金招聘Python工程师标准>>> <script type"text/javascript"> if (IEVersion() -1) { window.alert("不是ie浏览器") } else { window.alert("是IE" IEVersion()) } function IEVersion() { var userAgent n…

ubuntu16 修改默认运行级别

1、配置默认运行级别 设置默认界面为命令行&#xff1a; sudo systemctl set-default multi-user.target reboot设置默认界面为图形界面&#xff1a; systemctl set-default graphical.target reboot2、临时切换 图形界面下 临时切换到字符界面&#xff1a;ctrl alt F1 …

让kaldi在Linux开发板上运行起来~ (测试运行篇)

【kaldi各文件解释】 /egs&#xff1a;不同语料例子的执行脚本文件 /tools&#xff1a;存放asr过程中用到的库 /src&#xff1a;存放实际执行的c算法 解码工具&#xff08;src/onlinebin中&#xff09;&#xff1a; online-gmm-decode-faster&#xff1a;识别从麦克风输入的…