Docker - 6 Dockerfile 7 Docker网络

本文介绍了如何使用Dockerfile构建镜像,包括基本步骤、实例应用和镜像发布。接着,深入探讨了Docker网络,从基础概念到网络联通的方法,包括Docker的网络模式和容器间的连接策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

6 Dockerfile

6.1 构建镜像步骤

1.编写dockerfile文件
2.构建镜像 docker build 
3.docker run 运行镜像
4.docker push 发布镜像

Dockerfile命令

发布项目需要编写dockerfile文件,docker逐渐成项目交付标准

Dockerfile :构建文件,定义了一切步骤,源代码

Docker容器:提供运行镜像的服务器

FROM //指定基础镜像
MAINTAINTER //作者,姓名+邮箱
RUN //镜像构建时需要运行的命令
ADD //例如添加tomcat镜像至基础镜像之上
WORKDIR //镜像的工作目录
VOLUME //设置卷,挂载主机目录
EXPOSE //暴露端口,等同于-p
CMD // 指定容器启动时要运行的命令,只有最后一个会生效,可被替代(替换)
ENTRYPOINT //指定容器启动时就要运行的命令,可以追加命令(追加)
ONBUILD //触发指令
COPY //类似ADD,将文件拷贝至镜像中
ENV //构建的时候需要设置环境变量

6.2 使用范例

FROM centos

MAINTAINER shiyivei<shiyivei@outlook.com>

ENV MYPATH /user/local

WORKDIR $MYPATH

RUN yum -y install vim

RUN yum -y install net-tools

EXPOSE 80

CMD echo $MYPATH

CMD echo "----end----"
CMD /bin/bash
docker build -f mydockerfile-centos -t mycentos:0.1. //构建
docker run -it mycentos:0.1 //运行发布
docker history “image ID” //查看构建历史变更信息

6.3 发布镜像

注册一个Dockerhub账户

docker login -u shiyivei //登录Dockerhub
docker push cmdtest //发布镜像,注意名字不要重复
requested access to the resource is denied //重复的话使用tag改名
docker tag 3f5607ae3630 shiyivei/cmdtest:1.0 
docker push shiyivei/cmdtest:1.0 //重新发布,发布结束后就可以在dockerhub上看到镜像了	

如果发布到阿里云的话,参考官方文档即可

Docker 7 Docker 网络

7.1 Docker 网络简介

先删除所有镜像,让本机环境干净

ip addr //查看IP
本机回环地址
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
       阿里云内网地址
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:16:3e:2b:f5:7a brd ff:ff:ff:ff:ff:ff
    inet 172.22.64.97/20 brd 172.22.79.255 scope global dynamic eth0
       valid_lft 315119875sec preferred_lft 315119875sec
    inet6 fe80::216:3eff:fe2b:f57a/64 scope link 
       valid_lft forever preferred_lft forever
       Docker地址
3: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default 
    link/ether 02:42:0b:1b:8a:67 brd ff:ff:ff:ff:ff:ff
    inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
       valid_lft forever preferred_lft forever
    inet6 fe80::42:bff:fe1b:8a67/64 scope link 
       valid_lft forever preferred_lft forever

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值