栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

docker教程详细步骤+docker windows10安装 +docker linux 安装+从安装到docker部署springboot项目到镜像移植

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

docker教程详细步骤+docker windows10安装 +docker linux 安装+从安装到docker部署springboot项目到镜像移植

目录
  • windows10安装docker
  • windows10 docker部署springboot项目
    • 编写Dockerfile文件
  • 镜像导出、导入
    • docker启动命令
    • docker查看列表命令
    • docker 导出镜像命令
    • docker 导入镜像命令
  • linux安装docker
  • linux docker部署springboot
    • linux前提配置
    • linux 导入镜像
  • 命令详解
    • docker常用命令
      • docker 服务启动相关命令
      • docker 镜像相关命令
    • Dockerfile命令详解

看到博客的朋友们先别急 微软这两天刚更新文档教程 我也是在踩坑中 博客需要修改(2021-09-29)

windows10安装docker
  1. 首先安装前 检查一下虚拟技术(VT)是否开启

  1. 如果状态为已禁用 需要进入BIOS设置 ,电脑重启 显示屏亮起时 屏幕会提示怎么进入 一般是按del 进入BIOS模式 , 一般主板开启VT是比较容易的 ,这里用比较复杂的华硕主板举例:

按F7 (不同主板可能有区别)进入advance mode 找到高级设置

按键盘 ↓ 键,选择CPU设置

继续按键盘 ↓ 键,找到VT 改成enabled

返回 ez mode ,保存并退出
其它主板位置可能有差异 但一般都是在CPU设置里面 找找是能看到的。

  1. 电脑开机 再次查看 虚拟化是已开启状态。
  2. 把windows功能的Hyper-V 勾选上


  1. 进入docker官网下载 如果没有注册 它要提示注册 先注册并验证一下邮箱

  2. 安装完成后 打开

    打开的时候可能会报错误(没报错则忽略) 下载一下环境 安装就好了

    点击这里下载插件

如果没有安装linux虚拟机的话 docker还会有这样一个弹框

点进去这个网址,找到下图位置

根据里面的教程来安装 注意是使用powershell 输入命令 (windows10自带)


这里把我们需要操作的步骤都框起来了 很详细的教程有没有!

  1. 再次打开我们的docker ,这时在powerShell 里面输入 docker --version (注意是双横杠)验证是否安装成功
windows10 docker部署springboot项目

首先 mvn package 把springboot打成jar包

编写Dockerfile文件

可以在idea 右键new 一个Dockerfile 编写好后,和jar包一起复制到同个目录下

这里先给一个简单可用的例子 把内容复制进Dockerfile里面即可

# Docker image for springboot file run
# VERSION 0.0.1
# Author: qkj
# 基础镜像使用java
FROM java:8
# 作者
MAINTAINER qkj <1005738053@qq.com>
# 路径
# WORKDIR /app
# VOLUME 指定了临时文件目录为/tmp。
# 其效果是在主机 /var/lib/docker 目录下创建了一个临时文件,并链接到容器的/tmp
VOLUME /tmp
# 将jar包添加到容器中并更名为bootdemo
ADD boot4dk.jar bootdemo
# 运行jar包
RUN bash -c 'touch /bootdemo'
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/bootdemo"]

镜像导出、导入

我这里把我的项目 boot4dk.jar 和Dockerfile 都复制进了 D:dockerEvn 目录下

docker启动命令

其中9090是docker对外端口 ,8080是springboot项目配置端口

docker run -p 9090:8080 -t boot4dk.jar

可以看到项目启动成功 注意jar包命名要用小写字母 不然会报错

docker查看列表命令
docker images


可以看到我们的boot4dk已经在里面了

docker 导出镜像命令

这句命令含义是 将 boot4dk.jar 导出至 d:dockeros (注意这个路径也必须小写) 命名为bootdemo.tar ;
过程会有点慢 因为需要将java环境一起导出

docker save -o d:dockerosbootdemo.tar boot4dk.jar


docker 导入镜像命令

一定要注意是 < 输错了会导入失败 且导致镜像被破坏

docker load  
linux安装docker 

还记得前面我们启动docker前安装了一个linux子系统嘛 它可以派上用场了 先在子系统捣鼓熟练了 再上自己linux服务器吧!

双击启动Ubuntu :


默认root是没有密码的,qiuhuanhen是我创建的用户

在自己账户下输入命令

sudo passwd root

它会提示输入自己账户密码进行验证 验证完毕后 设置root账户密码

接下来切换到root用户

su root

将自带的旧版本docker卸载

 apt-get remove docker docker-engine docker.io containerd runc

注意 apt-get 是 Ubuntu的命令, 如果在centos上面 使用 yum 命令

apt-get方式安装docker ,注意在Ubuntu里面 它叫docker.io

apt-get install docker.io

接着就是等待 等待过程发现有的时候它会假死在命令界面 时不时按几下enter键就好了 安装完毕后 docker --version验证一下

linux docker部署springboot linux前提配置

核心是配置root可以远程登录 我们通过filezilla软件登录root账户 将windows上面的镜像传输到linux上面
写到这里不得不提一句 不知道是下载的Ubuntu这一个版本配置是这样 还是所有Ubuntu配置都一个德行 默认是禁止密码登录的,centos则没有这种问题 导致filezilla一直登录失败 没想到是这原因 踩了个天坑。

输入命令:

vim /etc/ssh/sshd_config

按键盘 i 键进入编辑模式 将 PermitRootLogin prohibit-password 注释掉
改成

 PermitRootLogin yes

含义是 root禁止密码登录 改成可以远程登录

此外 还需要将PasswordAuthentication和ChallengeResponseAuthentication都改为yes

PasswordAuthentication yes
ChallengeResponseAuthentication yes

重启ssh服务:

service ssh restart
或
service sshd restart

这里可能会报错

分别输入命令 按回车 回车 ,总之就是它提示缺少什么 我们就按照名字生成一下

 ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key
 ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key
 ssh-keygen -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key
 ssh-keygen -t ed25519 -f /etc/ssh/ssh_host_ed25519_key
 

这个时候再重启ssh就可以了

打开filezilla 测试是否能登录

把镜像复制进去linux虚拟机
这里我是在根目录建立了一个app文件夹 将镜像复制进app
复制完后 回到我们linux界面

linux 导入镜像
cd /app

再次强调命令是 < 输错了镜像也坏了 只能重新传一份了 或者一开始就cp命令备份一份

docker load  

命令详解 docker常用命令 docker 服务启动相关命令

systemctl 一般在centos高版本中使用 service 一般在centos低版本 或者 Ubuntu中使用

# docker 查看状态
systemctl status docker 或 service docker status

# 启动docker (我们上面的教程中 安装后启动了 所以没用到这个命令)
systemct start docker 或 service docker start

# 重启 docker
systemct restart docker 或 service docker restart

# 停止 docker
systemct stop docker 或 service docker stop

docker 镜像相关命令
# 列出所有镜像
docker images

# 在hub中搜索镜像 类似于maven中央仓库



docker images完整的语法为 : docker images [OPTIONS] [REPOSITORY[:TAG]]

举个栗子 :docker images --digests boot4dk.jar:latest
类似的栗子: docker images -a 自己根据需要对命令进行组合
举一反三时间:现在知道日常工作中 敲其它命令 提示options时 该怎么写了吧?

OPTIONS说明:

-a :列出本地所有的镜像(含中间映像层,默认情况下,过滤掉中间映像层);

–digests :显示镜像的摘要信息;

-f :显示满足条件的镜像;

–format :指定返回值的模板文件;

–no-trunc :显示完整的镜像信息;

-q :只显示镜像ID。

Dockerfile命令详解

暂略 后面补充

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/274529.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号