【docker配置】Docker compose
第一章 Docker ComposeCompose是用于定义和运行复杂Docker应用的工具。你可以在一个文件中定义一个多容器的应用,然后使用一条命令来启动你的应用,然后所有相关的操作都会被自动完成。1.1 安装 Compose在安装 Compose之前,你需要先安装好 Docker 。然后你需要使用 curl 指令来安装 Compose。运行下边的命令来安装 Compose:
第一章 Docker Compose
获取包
q后面是大写字母Owget -qO- https://get.docker.com/ | sh
- $sudo cat /etc/group| docker
- $sudo groupadd -g 999 docker
- #-g 999 为组ID,也可以不指定
2 .为用户组docker增加用户
- ¥sudo gpasswd -a ${USER} docker
3.重启docker-daemon
4.执行docker命令,如果提示get ...... dial unix /var/run/docker.sock权限不够,则修改/var/run/docker.sock权限
sudo chmod a+rw/var/run/docker.sock
1、Update your apt sources
2、Update package information, ensure that APT works with the https
method, and that CA certificates are installed.
3、sudo apt-get install apt-transport-https ca-certificates
4、sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys58118E89F3A912897C070ADBF76221572C52609D
5、Open the /etc/apt/sources.list.d/docker.list
file in your favorite editor. If the file doesn’t exist, create it.
6、Remove any existing entries. Add an entry for ubuntu16.04 deb https://apt.dockerproject.org/repo ubuntu-xenial main
7、Save and close the /etc/apt/sources.list.d/docker.list
file.
8、apt-get update;apt-get purge lxc-docker;apt-cache policy docker-engine
1、sudo apt-get install linux-image-extra-$(uname -r)
5、sudo apt-get install docker-engine
6、sudo service docker start
Compose是用于定义和运行复杂Docker应用的工具。你可以在一个文件中定义一个多容器的应用,然后使用一条命令来启动你的应用,然后所有相关的操作都会被自动完成。
1.1 安装 Compose
在安装 Compose之前,你需要先安装好 Docker 。然后你需要使用 curl 指令来安装 Compose。
运行下边的命令来安装 Compose:
curl -L https://github.com/docker/compose/releases/download/1.8.1/run.sh >
/usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
查看一下compose的版本信息:
docker-compose -version
1.2 使用Compose
① 使用Compose只需要简单的三个步骤:首先,使用Dockerfile来定义应用环境
FROM centos:7.2.1511
maintainer aaa <wowo@gmail.com>
run yum install -y epel-release
run yum install -y python python-devel python-pip ipython \
&& yum install -y glibc-devel gcc-c++ gcc cpp make \
&& yum install -y openssl-devel libffi-devel libev-devel \
&& yum install -y wget git vim ctags unzip
run ["/bin/bash", "-c", "wget -O - https://bootstrap.pypa.io/get-pip.py | python"]
run pip install -U setuptools
run wget https://storage.googleapis.com/golang/go1.7.linux-amd64.tar.gz
run tar -zxvf go1.7.linux-amd64.tar.gz
run chown -R root:root go
run mv go /usr/local
env GOPATH /go
env PATH $PATH:/usr/local/go/bin:$GOPATH/bin
run go get github.com/golang/lint/golint
run go get github.com/tools/godep
run go get github.com/golang/protobuf/proto
run go get github.com/golang/protobuf/protoc-gen-go
run wget https://github.com/google/protobuf/releases/download/v3.1.0/protoc-3.1.0-linux-x86_64.zip
run unzip protoc-3.1.0-linux-x86_64.zip
run go get github.com/skelterjohn/rerun
② 第二步,用一个compose.yaml来定义你的应用,他们可以在下个互隔离的容器中组成你的应用。
version: '2'
services:
api:
build: ./
network_mode: host
command: ./run.sh api
working_dir: /go/src/aaaa
volumes:
- ./:/go/src/aaaa
ports:
- 0.0.0.0:9999:9999
③ 第三步,执行docker-compose up来启动你的应用,它会根据compose.yaml的设置来pull/run容器。
1.3 Yaml文件
首先是定义一个服务名,下面是yaml服务中的一些选项条目:
Ø image :镜像的ID
Ø build :直接从pwd的Dockerfile来build,而非通过image选项来pull
Ø links :连接到那些容器。每个占一行,格式为SERVICE[:ALIAS],例如 – db[:database]
Ø external_links :连接到该compose.yaml文件之外的容器中,比如是提供共享或者通用服务的容器服务。格式同links
Ø command :替换默认的command命令
Ø ports : 导出端口。格式是: ports:-"3000"-"8000:8000"-"127.0.0.1:8001:8001"
Ø expose :导出端口,但不映射到宿主机的端口上。它仅对links的容器开放。格式直接指定端口号即可。
Ø volumes :加载路径作为卷,可以指定只读模式:
Ø net :容器的网络模式,可以为”bridge”, “none”, “container:[name or id]”, “host”中的一个。
Ø dns :可以设置一个或多个自定义的DNS地址。
Ø dns_search :可以设置一个或多个DNS的扫描域。
1.4 Compose命令
docker-compose up ,是在前台运行的。我们可以指定-d命令以daemon的方式启动容器
v -f 制定一个非docker-compose.yml命名的yaml文件
v -p 设置一个项目名称(默认是directory名)
v docker-compose的动作包括:
v build :构建服务
v kill -s SIGINT :给服务发送特定的信号。
v logs :输出日志
v port :输出绑定的端口
v ps :输出运行的容器
v pull :pull服务的image
v rm :删除停止的容器
v run : 运行某个服务,例如docker-compose run web python manage.py shell
v start :运行某个服务中存在的容器。
v stop :停止某个服务中存在的容器。
v up :create + run + attach容器到服务。
v scale :设置服务运行的容器数量。例如:docker-compose scale web=2 worker=3
1.5 参考
http://www.widuu.com/docker/installation/ubuntu.html
更多推荐
所有评论(0)