标签:容器 compose 单机 db yum docker 安装
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文件放到对应的目录下
有一点需要注意,数据库的连接名需要换成数据库容器的名字
#比如localhost需要换成上面创建的容器名db
url: jdbc:mysql://localhost:3306/xzttxwd?useUnicode=true
url: jdbc:mysql://db:3306/xzttxwd?useUnicode=true
全部准备完毕后,下面这条命令即可启动容器,默认目录是在docker-compose.yml文件的同级目录下
docker-compose up -d
标签:容器,compose,单机,db,yum,docker,安装 来源: https://www.cnblogs.com/xzttxwd/p/15833974.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。