docker-compose编排

docker-compose编排

安装docker-compose

首先需要docker
下载docker-compose或者上传软件包
curl -L https://github.com/docker/compose/releases/download/1.21.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
cp -p docker-compose /usr/local/bin/
安装
chmod +x /usr/local/bin/docker-compose
查看版本
docker-compose --version

image-20220912222957287

一:准备依赖文件

[root@docker opt]# mkdir -p /opt/compose_nginx/nginx /opt/compose_nginx/wwwroot
[root@docker opt]# ls
compose_nginx  containerd  rh
[root@docker opt]# cd co
compose_nginx/ containerd/    
[root@docker opt]# cd compose_nginx/
[root@docker compose_nginx]# ls
nginx  wwwroot
[root@docker compose_nginx]# cd nginx/
[root@docker nginx]# ls
[root@docker nginx]# rz -E
rz waiting to receive.
[root@docker nginx]# ls
nginx-1.12.2.tar.gz

image-20220912223235100

定义启动脚本

#!/bin/bash
/usr/local/nginx/sbin/nginx

image-20220912223426007

编写dockerfile

FROM centos:7

MAINTAINER this is nginx images <hyy>

RUN yum -y install pcre-devel zlib-devel gcc gcc-C++ make

RUN useradd -M -s /sbin/nologin nginx

ADD nginx-1.12.2.tar.gz /opt/

WORKDIR /opt/nginx-1.12.2

RUN ./configure \
--prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--with-http_stub_status_module && make && make install

ENV PATH /usr/local/nginx/sbin:$PATH

EXPOSE 80
EXPOSE 443

RUN echo "daemon off;" >> /usr/local/nginx/conf/nginx.conf

ADD run.sh /run.sh

RUN chmod 755 /run.sh
CMD ["/run.sh"]

方法二
ENTRYPOINT [ "/usr/local/nginx/sbin/nginx","-g","daemon off;" ]

[root@localhost nginx]# echo "<h1>this is laohu666</h1>" > /opt/compose_nginx/wwwroot/index.html

image-20220912224259798

编写docker-compose

vim /opt/compose_nginx/docker-compose.yml

version: '3'
services:
  nginx:
    container_name: web1
    hostname: nginx
    build:
      context: ./nginx
      dockerfile: Dockerfile
    ports:
       - 1216:80
       - 1217:443
    networks:
      - cluster

    volumes:
        - ./wwwroot:/usr/local/nginx/html
networks:
   cluster:



   

image-20220912230821001

yum install -y tree
tree /opt/compose_nginx/

image-20220912225729577

cd /opt/compose_nginx/
docker-compose -f docker-compose.yml up -d

-f, --file FILE :使用特定的compose模板文件,默认为docker-compose.yml
-p, --project-name NAME : 指定项目名称,默认使用目录名称
-d :在后台运行

image-20220912231109551

image-20220912231149411

部署nginx+tomcat

创建tomcat目录,然后把相应的包放进去

image-20220912231444690

编写dockerfile

vim Dockerfile

FROM centos:7
MAINTAINER JXX

ADD apache-tomcat-9.0.16.tar.gz /usr/local
ADD jdk-8u91-linux-x64.tar.gz /usr/local

WORKDIR /usr/local

RUN mv apache-tomcat-9.0.16 tomcat
RUN mv jdk1.8.0_91 java

ENV JAVA_HOME /usr/local/java
ENV CLASSPATH $JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
ENV PATH $JAVA_HOME/bin:$PATH

EXPOSE 8080
CMD ["/usr/local/tomcat/bin/catalina.sh","run"]

编写yml文件

version: '3'
services:
  tomcat:
    hostname: tomcat
    build:
      context: ./tomcat
      dockerfile: Dockerfile
    ports:
      - 8080:8080
    networks:
      lnmp:
        ipv4_address: 172.19.0.20
  nginx:
    container_name: web1
    hostname: nginx
    build:
      context: ./nginx
      dockerfile: Dockerfile
    ports:
       - 1216:80
       - 1217:443
    networks:
      lnmp:
        ipv4_address: 172.19.0.10
    volumes:
       - ./wwwroot:/usr/local/nginx/html
networks:
  lnmp:
    driver: bridge
    ipam:
      config:
        - subnet: 172.19.0.0/16

报错

image-20220912233429562

这种报错信息,是因为这个网段已经被占用了,所以我们换一个网段就好了

image-20220912233138523

image-20220912233123678

image-20220912233230754

image-20220912233546077

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值