docker使用,Dockerfile构建示例

本文详细介绍了Docker的基本命令,如查看镜像、启动/停止容器、挂载卷、构建Dockerfile、端口映射以及日志查看等,以部署Java项目为例,展示了如何使用Docker进行容器化开发和管理。

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

常用docker命令

docker images   #显示dockers目前安装的所有镜像
#每个容器可以里当做一个精简版的Linux虚拟机
docker ps   #显示在运行的容器
docker ps -a   #显示所有容器包括在运行的和停止的
docker run -d --name 容器名 -p 宿主机端口:容器端口 -v 宿主机目录:容器目录 镜像名:tag(或者镜像id)   #从一个镜像启动一个容器(或者叫从一个镜像启动一个虚拟机),并且指定容器名称,容器端口和宿主机端口映射关系,将容器某个目录持久化到宿主机某个目录
docker stop 容器id  #停止一个容器
docker start 容器id  #启动一个停止的容器
docker exec -it 容器id /bin/bash   #进入容器(或者叫进给虚拟机)
docker logs -f -t --tail 100 容器id #查看容器日志(比如容器的镜像只是把jdk和一个业务jar包打在一起,那么容器跑起来,日志其实就是jar包的日志)
docker rm 容器id #删除容器,删除前必须先停止容器
docker rmi 镜像名:tag或者镜像id   #删除镜像
docker save -o 导出的目标tar文件(服务器中全路径) 镜像名:tag   #导出镜像(将docker中某个容器导出为一个tar包,方便后期移植到其他机器上继续使用) 例如:docker save -o /home/libb/guarantee_web.tar guarantee_web:1.0
docker load -i 要导入的tar文件  #导入镜像(对应导出镜像的功能,将导出的tar包还原到另一台机器的dockers中) 例如:docker load -i /home/libb/guarantee_web.tar

docker 构建Java项目的Dockerfile示例
1、在宿主机(我用的是WSL2安装的Ubuntu)中创建docker目录 mkdir /usr/local/docker
2、将要部署的jar包 guarantee-web-5.1-SNAPSHOT.jar copy到第一步中创建的文件目录中(/usr/local/docker)
3、在/usr/local/docker目录中创建镜像构建文件dockerfile.txt,内容如下:

# 基础镜像使用java
FROM java:8
# 添加一个卷,卷独立于容器,容器删除卷也会一直存在,多个容器可以共用一个卷,用来共享数据
VOLUME /tmp
# 将jar包添加到容器中并更名为app.jar
ADD  guarantee-web-5.1-SNAPSHOT.jar app.jar
# 运行jar包
ENTRYPOINT ["java","-jar","app.jar"]
#暴露9070端口作为微服务
EXPOSE 9070

其中暴露的端口就是jar包用到的端口,从这一点可以看出docker容器其实是一台虚拟机,有端口。
4、进入到/usr/local/docker目录,开始构建镜像 docker build -f dockerfile.txt -t guarantee_web:1.0 .
其中 -f 后面的是Dockerfile文件名, -t 后面的是构建完成后镜像的名字和版本(tag就是版本),.这个点表示 Dockerfile 所在的当前目录。Docker 会从这个目录开始构建镜像。

5、从刚刚打包好的镜像 docker run -d --name=guarantee_web -p 9070:9070 guarantee_web:1.0启动一个容器
6、进入刚刚启动的容器 docker exec -it 17e09c82efe7 /bin/bash 17e09c82efe7是容器id
7、查看日志 docker logs -f -t --tail 100 17e09c82efe7

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值