docker port如何增加端口_Docker制作Image

制作image 的前提需要熟悉dockerfile,dockerfile是一个文件,是一个用来描述镜像的文件,是多组命令内容组成的文件;可以参看下mysql 的dockerfile:https://github.com/docker-library/official-images/blob/master/Dockerfile

先写一个简单入门级别的image,这里我新建了一个springboot 项目,里面内容很简单:

5fdd4cb2b26497d9bd61b0ad61cb1c50.png

通过访问ip:port/dockerfile 显示出hello docker;需要把这个工程打包成jar文件,我这里直接在IDEA 里操作的->mvn clean package,此时会在当前工程中target 目录下生成jar 文件:docker-image-0.0.1-SNAPSHOT.jar 把此jar 包放到放到docker 目录下,这里我在docker 根目录下新建了一个目录;有了这个jar 包,我们在jar 包所在的目录下开始写dockerfile文件,大概内容如下:

d8af8bbd14b2499107867b91a04d2a28.png

截图中对应的是五个指令,指令详情如下:

99d4be9ab6b6de94b3877381c7b28749.png

以上内容保存文件为:Dockerfile

有了dockerfile 后,基于它生成镜像文件: docker build -t test-docker-image . 构建镜像;通过 docker images 查看镜像是否创建成功,然后创建并运行container

docker run -d --name 名字 镜像名字(test-docker-image)

通过docker ps 查看container是否创建并运行;这几步没有问题后,可以通过docker logs (container名字) 来查看我们jar 运行的log 信息(和在IDEA 运行的log信息并无差异)

思考:我们该如何访问这个服务呢?

第一种,我们可以在docker 内部来访问,命令如下:

7aa91517aaff5b4c7b656f7218618f34.png

这个user01是我们上面的container 名字我这里的端口号是默认的8080;此时会显示出项目controller 打印的log信息:hello docker

第二种:通过物理机的浏览器来访问(就像访问我们本地服务一样),我们需要把8080 端口映射到外层docker 端口上,执行以下命令

docker run -d --name container名字 -p 9988:8080 image名字

此时,本地物理机可以通过浏览器来访问

以上我们可以制作出image 镜像,下一次来做发布操作

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值