为了账号安全,请及时绑定邮箱和手机立即绑定

Docker:构建镜像

标签:
Docker

使用 Dockerfile 构建 Docker 镜像

  • Dockerfile 是一个文本文件,其中包含若干条指令,描述构建镜像的细节

  • 编写一个最简单的 Dockerfile,通过它来修改镜像的首页

    FROM nginx
    RUN echo '<h1>第一个 Docker 案例</h1>' > /usr/share/nginx/html/index.html
    docker build -t nginx:my .
    docker run -d -p 92:80 nginx:my
  1. 访问 http://Docker 宿主机IP:92/ 即可看到效果

  1. 执行以下命令,即可使用镜像启动一个 Docker 容器

  1. 在 Dockerfile 所在路径执行以下命令构建镜像,命令最后的 (.) 用于路径参数传递,表示当前路径

  1. 该 Dockerfile 非常简单,FROM、RUN 都是 Dockerfile 的指令,FROM 指令用于指定基础镜像,RUN 指令用于执行命令

将微服务构建成镜像

  • 准备工作:一个简单的微服务项目 docker-demo,包含一个 /hello 接口,返回 HelloWorld,并且设置了端口为 8080

server:
  port: 8080
  • 将项目通过 Maven 打包成 jar 包 docker-demo-0.0.1-SNAPSHOT.jar

mvn clean package
  • 在 jar 包目录,创建名为 Dockerfile 文件

touch Dockerfile
  • 在 Dockerfile 文件中添加以下内容

# 基于哪个镜像FROM java:8# 声明持久化文件挂载点VOLUME /tmp# 复制本地文件到容器ADD docker-demo-0.0.1-SNAPSHOT.jar app.jar# 执行命令RUN bash -c 'touch app.jar'# 声明暴露的端口EXPOSE 8080# 配置容器启动后执行的命令ENTRYPOINT ["java","-jar","app.jar"]
  • 使用 docker build 命令构建镜像

  • 格式:docker build -t 仓库名称(对应 DockerHub 用户名)/镜像名称(对应 DockerHub 仓库名):标签(相当于版本号) Dockerfile的相对位置

docker build -t linyuantongxue/docker-demo:0.0.1 .
  • 启动镜像

docker run -d -p 8761:8080 linyuantongxue/docker-demo:0.0.1

注意:如若出现以下错误

WARNING: IPv4 forwarding is disabled. Networking will not work.

解决办法

// 使用管理员角色打开该配置文件vi /etc/sysctl.conf// 添加以下配置net.ipv4.ip_forward=1// 重启network服务systemctl restart network



作者:林塬
链接:https://www.jianshu.com/p/eefed6a2b204


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消