Docker 容器是一个开源的应用容器引擎,让开发者可以以统一的方式打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何安装了docker引擎的服务器上(包括流行的Linux机器、windows机器),也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app)。几乎没有性能开销,可以很容易地在机器和数据中心中运行。最重要的是,他们不依赖于任何语言、框架包括系统。
第一步:创建yml文件
[root@host1 ~]# vim docker-compose.yml
version: '3'
services:
web:
image: Nginx:latest
ports:
- "5000:5000"
links:
- redis
redis:
image: redis
第二步:启动容器
[root@host1 ~]# docker-compose up -d
第三步:查看通过compose启动进程的状态
[root@host1 ~]# docker-compose ps
Name Command State Ports
----------------------------------------------------------------------------------------------------------------------------
root_redis_1 docker-entrypoint.sh redis ... Up 6379/tcp
root_web_1 Nginx -g daemon off; Up 0.0.0.0:5000->5000/tcp, 80/tcp
第四步:查看日志信息
[root@host1 ~]# docker-compose logs
第五步:关闭服务
[root@host1 ~]# docker-compose down
Stopping root_web_1 ... done
Stopping root_redis_1 ... done
Removing root_web_1 ... done
Removing root_redis_1 ... done
Removing network root_default
案例2
第一步:创建Dockerfile文件
[root@host1 ~]# vim Dockerfile
#Nginx
#Version 1.0.1
#Author zxhk
#Base image
FROM centos:7
#Maintainer
MAINTAINER zxhk08@qq.com
#Commands
RUN rpm -ivh http://mirrors.aliyun.com/epel/epel-release-latest-7.noarch.rpm
RUN yum install -y Nginx
RUN echo "daemon off;" >> /etc/Nginx/Nginx.conf
EXPOSE 80
CMD ["Nginx"]
第二步:执行Dockerfile文件
[root@host1 ~]# docker build -t newweb/Nginx:v1-1 ./
第三步:构建docker-compose.yml
[root@host1 ~]# vim docker-compose.yml
version: '2'
services:
web1:
image: newweb/Nginx:v1.0.1
volumes:
- /data/www1:/usr/share/Nginx/html
ports:
- "8080:80"
web2:
image: newweb/Nginx:v1.0.1
volumes:
- /data/www2:/usr/share/Nginx/html
ports:
- "8081:80"
web3:
image: newweb/Nginx:v1.0.1
volumes:
- /data/www3:/usr/share/Nginx/html
ports:
- "8082:80"
第四步:开始构建
[root@host1 ~]# docker-compose up -d
第五步:查看通过compose启动进程的状态
[root@host1 ~]# docker-compose ps
第六步:查看日志信息
[root@host1 ~]# docker-compose logs
第七步:关闭服务
[root@host1 ~]# docker-compose down