docker-compose实现单机发布

 

docker的安装:

    Centos:   

复制代码
1、查看本机信息
uname -a
2、更新依赖
yum update
3、安装依赖
yum install -y yum-utils device-mapper-persistent-data lvm2
4、替换为阿里源
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
5、安装docker
yum install -y docker-ce
6、Docker守护进程 Server端
systemctl start docker
7、docker version 查看docker client和docker server是否都显示出来了,都显示出来了就表示docker安装成功
docker version 
8、设置开机自启
systemctl enable docker
9、yum makecache就是把服务器的包信息下载到本地电脑缓存起来,fast快速缓存。
yum -y makecache fast
复制代码

 Ubuntu:

1、安装(安装不动的可以选择换源)
sudo apt-get install docker

 

安装docker-compose

  官网安装教程:https://docs.docker.com/compose/install/

  直接2条命令即可安装完成

sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

 

docker-compose常用命令

#上机
docker-compose up -d .
#下机 docker
-compose down
#查看日志 docker-compose log #查看单独的一个容器的日志 docker-compose logs

 

发布一个web应用,结构目录如下

   

 

 

 

首先是docker-compose.yml

复制代码
version: '3.3'
services:
  #db是初始化数据库
  db:
    build: ./db/
    #restart是容器如果在宕机的情况下总是重启
    restart: always
    #这是设置mysql的密码
    environment:
      MYSQL_ROOT_PASSWORD: root
  #这是要打包的应用                            
  app:
    build: ./app/
    #依赖上面已经初始化的容器db,这样就不用再去设置网桥来连接两个容器的通信
    depends_on:
      - db
    #开放80端口给外界  
    ports:
      - "80:80"
    restart: always
复制代码

然后是数据库容器的Dockerfile

# FROM是以哪个镜像为基础创建容器
FROM
mysql:5.7
# WORKDIR是移动到docker-entrypoint-initdb.d目录下,如果没有这个目录就会创建这个目录后再移动到这个目录下
WORKDIR /docker-entrypoint-initdb.d
# add是拷贝初始化数据库的文件到这个文件下
ADD init-db.sql .

接下来是app容器的创建

FROM openjdk:8u222-jre
WORKDIR /usr/local/bsbdj
ADD bsbdj.jar .
ADD application.yml .
ADD application-dev.yml .
# EXPOSE是开放容器的80端口给外界访问 EXPOSE
80 CMD ["java","-jar","bsbdj.jar"]

最后把打包好的jar包、配置文件和sql文件放到对应的目录下

有一点需要注意,数据库的连接名需要换成数据库容器的名字

1
#比如localhost需要换成上面创建的容器名db<br>url: jdbc:mysql://localhost:3306/xzttxwd?useUnicode=true <br>url: jdbc:mysql://db:3306/xzttxwd?useUnicode=true

 全部准备完毕后,下面这条命令即可启动容器,默认目录是在docker-compose.yml文件的同级目录下

1
docker-compose up -d

 

posted @   xzt天下无敌  阅读(151)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示