抱歉,您的浏览器无法访问本站

本页面需要浏览器支持(启用)JavaScript


了解详情 >

这世界变化快啊 我刚学会这个 又出新东西了
基于Kubernetes构建Docker集群管理详解
Docker Machine + Compose + Swarm
让Docker功能更强大的10个开源工具
连接容器 –link 简要说明

懒人的最爱 – 下载快速用

为了方便急用的同志们,把仓库和配置方法放在最前面,如果想学习的请往下看

  1. 进入dockerfiles目录, 修改配置文件docker-compose.yml
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    data:
    build: ./data
    volumes:
    - "/c/Users/elick/myapp:/data:rw" #这里修改 '/c/Users/elick/myapp' 为你主机上要共享的目录
    privileged: true
    mysql:
    build: ./mysql
    volumes_from:
    - data
    volumes:
    - "/c/Users/elick/myapp/db/mysql:/var/lib/mysql" #这里修改 '/c/Users/elick/myapp' 为你主机上要共享的目录
    environment:
    - MYSQL_ROOT_PASSWORD=123456 #根据你的需要修改数据库密码
    ports:
    - "3306:3306" #根据需要修改数据库端口
    php:
    build: ./php
    expose:
    - "9000"
    volumes_from:
    - data
    links:
    - mysql
    privileged: true

    nginx:
    build: ./nginx
    volumes_from:
    - data
    volumes:
    - "/c/Users/elick/myapp/nginx/nginx.conf:/etc/nginx/nginx.conf" #这里修改 '/c/Users/elick/myapp' 为你主机上要共享的目录
    links:
    - php:php
    ports:
    - "80:80" #根据需要修改web服务器端口
    privileged: true
  2. 使用 docker-composer up 建立并启动容器
  3. 如果除了data容器 全部启动的话 并且浏览localhost也没错的话 那么你就拥有了最新的php环境了

docker容器互联的两种方式连接容器 | Docker中文指南Docker多容器连接-以Nginx+PHP为例Docker学习总结之跨主机进行linkDocker Machine + Compose + Swarm让Docker功能更强大的10个开源工具 这里简单说明下 docker –link 的作用可以参考下面dockerfile文件.如果需要连接mysql容器 只要 docker –...

一般情况的用法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
mysql:
build: ./mysql
volumes_from:
- myapp-data
environment:
- MYSQL_ROOT_PASSWORD=123456
php:
build: ./php
expose:
- "9000:9000"
volumes_from:
- myapp-data
links:
- mysql
privileged: true

nginx:
build: ./nginx
volumes_from:
- myapp-data
links:
- php:php
ports:
- "80:80"
privileged: true

Dockerfile是一个镜像的表示,可以通过Dockerfile来描述构建镜像的步骤,并自动构建一个容器
所有的 Dockerfile 命令格式都是:
INSTRUCTION arguments
虽然指令忽略大小写,但是建议使用大写。

FROM 命令

1
FROM <image>

1
FROM <image>:<tag>

这个设置基本的镜像,为后续的命令使用,所以应该作为Dockerfile的第一条指令。

比如:

1
FROM ubuntu

如果没有指定 tag ,则默认tag是latest,如果都没有则会报错。

CMD 命令

有三种格式:

1
2
3
CMD ["executable","param1","param2"] (like an exec, preferred form)
CMD ["param1","param2"] (as default parameters to ENTRYPOINT)
CMD command param1 param2 (as a shell)

一个Dockerfile里只能有一个CMD,如果有多个,只有最后一个生效。这是为了引用镜像时避免启动服务器而无法配置 所以你可以在最后再写个CMD从而屏蔽原镜像的命令

前言

最近一直想搭建个自己的docker开发环境,找了不少资料.在docker-hub上发现这个,虽然内容老一点,不过思路还是很好的.而且发现用docker搭建原来是如此的so easy! 好吧,让我们开始吧.

首先来看看布局结构

布局图

简单说明下.每一个服务用了一个容器.所有容器的数据都指向数据容器.这样统一管理的同时,也方便修改和报错.这里原作者把artisan和composer也放在一个容器里,但是我个人感觉这样不是太好.当然为了保持宿主主机的纯净度来讲,这是个正确的选择,就是操作起来太费事了.

elick 发布 新文稿 Dockerfile VOLUME 和 -v 的区别 docker 服务器相关技术 找到了官方的userguide: https://docs.docker.com/engine/userguide… 从中了解了一点:VOLUME并非只是声明,它会把指定路径重新加载一遍,我通过inspect容器也发现了这一点。 这是在Dockerfi...

查看docker信息(version、info)12345# 查看docker版本 $docker version # 显示docker系统的信息 $docker info 对image的操作(search、pull、images、rmi、history)1234567891011121314151617181920212223242526272829303132333435...

boot2docker转发端口问题

这是个很恶心的问题 因为boot2docker还是依赖与virtualbox 所以虽然使用命令 docker run -dp 8080:8080 php进行转发 但是还需要修改虚拟机的端口转发才可以

命令解析:
docker -d 后台执行 -p 转发端口

虚拟机转发端口