Docker>02 - Docker镜像命令、构建第一个镜像

扯淡:

本章将介绍镜像的常用命令,构建一个自己的镜像,运行镜像对外提供服务。

个人学习总结:
链接:【springboot、springcloud、docker 等,学习目录】 

常用命令:


docker images --help : 帮助命令

docker images:查看本地镜像 可加以上参数。

docker images -a:列出所有,包含中间镜像(默认不显示)。

docker images tomcat : 列出本地 repository 为 tomcat 镜像。

docker search tomcat:搜索tomcat镜像,可选择适合的版本下载。

docker pull NAME[:TAG]:拉取选择的镜像。默认拉取最新,latest

docker rmi 名称/镜像id:删除指定镜像。

docker rmi $(docker images -q):删除所有镜像。

docker save 镜像名称:保存镜像。 

docker load :加载镜像。

docker tag : 设置镜像标签。

docker commit:更新镜像。在运行的容器内部执行更新操作,然后退出,commit。

docker build:构建镜像。

构建镜像:


通过Dockerfile构建一个新的镜像。将springboot系列代码打包构建成一个可独立提供服务的容器。

1、打包 springboot 系列代码成一个可执行的 jar

后续springboot会涉及到项目打包,分离配置文件、lib包等。如下 idea 打包。eclipse 使用run as maven install。

待打包执行完毕,在项目target目录下有一个jar 包。

2、将jar 包上传到服务器上指定的目录

此处我在用户目录下新建了myimages 目录,工具我选择的是 Xshell ,直接点击文件传输按钮将 jar 包拖到服务器指定目录即可。

3、新建 Dockerfile 文件

4、编写 Dockerfile

Dockerfile 文件中包含了一组指令,docker在构建镜像依据这些指令来构建。本章涉及几个简单的指令。

# 基础镜像 
FROM java:8
# 作者
MAINTAINER Ron
# 临时目录
VOLUME /tmp
# 复制宿主机的jar 到 容器的指定目录
COPY ./springboot-0.0.1-SNAPSHOT.jar app.jar
# 暴露端口 只是建议
EXPOSE 8080
# 容器启动时执行的操作
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

5、执行 docker build 命令:

-t : 指定镜像的名字和标签。

.  : 最后的 . 表示Dockerfile 所在的目录。

运行 docker images 可以查看刚刚构建的镜像:

6、创建容器:

使用刚刚构建的镜像创建一个容器。指定主机端口 4000 (即项目访问端口)

-d:后台运行容器 并返回容器id 即自动守护式容器 

--name:指定容器的名称

-p:端口号映射,主机 : 容器

7、进入容器:

容器可以理解为一个简单的Linux系统,既然容器 -d 是后台运行,那么可以进入容器。

命令:docker exec -it 容器id/容器名称

8、容器退出:

exit: 退出并关闭

Ctrl + P + Q : 退出未关闭 

9、测试:ip:4000/api

此时,上传的springboot项目代码已经在docker上独立的容器中运行,可提供服务。
 

至此,使用docker自己构建的镜像已运行成独立的容器,可对外界提供服务。

总结:

1、镜像仓库地址根据自己网络环境选择。
2、docker images 相关命令。
3、Dockerfile的编写。
3、docker build 构建镜像。不能省略最后面的点 “ . ”.
4、构建守护式容器,后台运行。
5、容器的进入与退出。


个人学习分享
更多 springboot、springcloud、docker 文章,关注微信公众号吧:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值