【博学谷学习记录】超强总结,用心分享|架构师-前置知识-docker容器

一、docker基础概念

Docker是用GO语言开发的应用容器引擎,基于容器化,沙箱机制的应用部署技术。
docker的本质是线程隔离,不是像虚拟机一样有完整的隔离
部署docker的基础流程:通过Dockerfile生成docker镜像—>让docker容器跑起来—>docker容器中跑服务。

Dockerfile

Dockerfile 的文件名是固定的,不能编辑。它是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明
介绍命令参数:

FORM:定制的镜像都是基于 FROM 的镜像,这里的 openjdk 就是定制需要的基础镜像,后续操作都是基于openjdk
VOLUME:挂载一个数据卷,这里因为没有名称,所以是一个默认的数据卷(后面详细解释)
ADD:添加一层镜像到当前镜像,这里就是添加SpringBootTest镜像到当前层,并改名app.jar
EXPOSE:暴漏端口,因为我们的自己的端口是8003,所以我们暴漏8003
ENTRYPOINT:设定容器启动时第一个运行的命令及其参数,这里就是容器以启动就执行 java -jar /app.jar

FROM openjdk:8-jdk-alpine
VOLUME /tmp
ADD learn-docker-storage-2.0-SNAPSHOT.jar app.jar
EXPOSE  8003
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

二、操作

打包镜像

docker bulid -t 仓库名/镜像名:tag .

参数解释:
-t: 镜像的名字及标签,一般命名规则是 仓库名/镜像名:tag,
仓库名:一般是私服或者dockerhub等地址,如果忽略默认就是dockerhub的地址docker.io/library/
镜像名称:就是我们的自己的服务名称,可以随意命名
tag:就是我们的版本号
.:这个 . 表示当前目录,这实际上是在指定上下文的目录是当前目录,docker build 命令会将该目录下的内容打包交给 Docker 引擎以帮助构建镜像。

运行镜像

# 运行容器
docker run -d -p 8003:8003 learn-docker-storage:0.0.1
# 查看运行中的容器
docker ps

参数解释:
-d:后台运行
-p:映射端口,将宿主机的8080端口映射到docker内部的8080端口上

查看日志

docker logs -f 74c239792266

在这里插入图片描述

删除容器

先停止容器
docker stop 容器id
再删除容器
docker rm 容器id
注意:已经停止的容器可以使用docker rm 容器ID删除容器,但是对于运行中的容器可以加上-f参数强制删除

查看容器详情

docker inspect learn-docker-storage|grep Mounts -A20

在这里插入图片描述

查看网络列表

可以通过docker network ls命令查看网络列表

# 查看网络列表
docker network ls
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值