depends_on:
- web2
web2:
image: nginx
ports:
- "33333:80"
networks:
- "mynetwork"
- "bridge"
volumes:
- "/mnt"
networks:
# 创建一个驱动为 bridge 的网络,命名为 mynetwork
mynetwork:
driver: bridge
其中,容器的实际名字为
.yml 文件所在目录名_.yml 文件中指定的名字_序号,如
mydir_web1_1。但是,在容器内部,可以使用
mydir_web1_1 也可以使用
web1 作为域名访问另一主机,这对于之后多容器共同支撑 web 服务是至关重要的。更多的
.yml 文件的写法可以参考
[YAML 模板文件][7]docker-compose 的使用
生成容器
首先,我们需要有一个名为
docker-compose.yml 或
docker-compose.yaml 的文件,并进入该文件所在目录下,通过以下命令生成并启动:
docker-compose upDocker 会根据
docker-compose.yml 中的内容创建网络、数据卷和容器。当然也可以加入参数
-d 使其生成后在后台运行:
docker-compose up -d停止
停止容器可以使用:
docker-compose stop运行
再次运行容器可以使用
docker-compose start查看日志
docker-compose logs
删除
通过以下命令可以删除容器,但不会删除之前创建的网络
docker-compose rm若想既删除容器,又删除网络,可以使用:
docker-compose down注意,数据卷的删除仍要使用之前删除数据卷的方法。
生成 & 提交镜像
生成镜像
我们对使用某一镜像的容器做了修改,比如在使用 centos 这一镜像创建的容器中安装了 nginx,此时我们可以将这一容器生成为一个新的镜像,这之后就可以通过这个新镜像创建其他容器,而这些容器也同样已经安装了 nginx。
生成镜像可以使用如下方式:
docker commit -m $commit-msg -a $author $container-id $namespace/$mirror-name:$tag
如:










