Dockerfile与Docker Compose构建镜像

   日期:2024-12-27    作者:xom5j 移动:http://ljhr2012.riyuangf.com/mobile/quote/58123.html

Dockerfile是构建镜像的文本文件,是由一系列命令和参数构成的脚本,脚本容包含了一条条构建镜像所需的指令和说明,Dockerfile就是创建一个镜像文件的过程。

命令作用实例FROM指定所需依赖的基础镜像FROM centos:7MAINTAINER声明镜像创建者信息MAINTAINER CJENV设置环境变量ENV MYSQL_ROOT_PASSWORD rootRUN在容器构建过程中执行的命令RUN curl http://wttr.inADD拷贝文件或目录到容器内,如果是URL或压缩包,会自动下载或自动解压ADD my-app.jar /app.jarCOPY和ADD相似,但是压缩包并不能自动解压EXPOSE声明需要暴露的端口,容器运行的服务端口EXPOSE 8080WORKDIR#指定工作目录,容器启动时,执行命令会在该目录下执行WORKDIR /usrCMD类似于 RUN 指令,CMD 在docker run 时执行。RUN 是在 docker build时执行CMD [“/bin/echo”, “hello world”]ENTRYPOINT指定容器启动时执行的命令ENTRYPOINT[“java”,“-jar”,“/app.jar”]

1.创建目录

 

2.下载或上传JDK

下载JDK并上传,或使用wget命令下载JDK

 

3.创建文件Dockerfile vi Dockerfile

 
 
 

4.执行命令构建镜像

 
 
 
 

5.查看镜像是否建立完成

 
 
 

使用Dockerfile构建SpringBoot应用镜像

 
 

使用Dockerfile构建maven web应用镜像

 
 

Compose用于定义和运行多容器的工具。通过Compose,可以使用YML文件来配置应用程序需要的所有服务。然后使用一个命令,就可以从YML文件配置中创建并启动所有服务。

地址

下载Compose

 

修改该文件的权限为可执行

 

查看安装是否成功

 

使用Docker Compose的步骤

 
 
命令实例描述imageimage: mysql:5.7运行的是mysql5.7的镜像container_namecontainer_name: mysql配置容器名称portsports:
- 3306:3306指定宿主机和容器的端口映射volumesvolumes:
- /usr/local/program/mysql/log:/var/log/mysql
- /usr/local/program/mysql/data:/var/lib/mysql
- /usr/local/program/mysql/conf:/etc/mysql将宿主机的文件或目录挂载到容器中environmentenvironment:
-MYSQL_ROOT_PASSWORD=root配置环境变量;设置mysqlroot帐号密码的环境变量linkslinks:
-mysql:linktest连接其他容器的服务;定义一个别名,从而使用该别名访问其它服务;以mysql或linktest为域名访问服务名称为mysql的容器
命令描述docker-compose up -d构建、创建、启动相关容器;-d表示在后台运行docker-compose stop停止所有相关容器docker-compose ps列出所有容器信息docker-compose logs查看服务日志输出docker-compose build构建或者重新构建服务docker-compose start db-service启动指定服务已存在的容器docker-compose stop db-service停止已运行的服务的容器docker-compose rm db-service删除指定服务的容器docker-compose kill db-service发送 SIGKILL 信号来停止指定服务的容器docker-compose run db-service bash在容器服务上执行一个命令
 
 
 

将docker-compose.yml上传到服务器,并在当前目录下运行如下命令

 
 
 

使用Docker Compose搭建wordpress博客

 

启动


 

特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。


举报收藏 0评论 0
0相关评论
相关最新动态
推荐最新动态
点击排行
{
网站首页  |  关于我们  |  联系方式  |  使用协议  |  隐私政策  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号