继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

Docker:构建镜像

三国纷争
关注TA
已关注
手记 420
粉丝 51
获赞 178

使用 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


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP