按F7 (不同主板可能有区别)进入advance mode 找到高级设置
按键盘 ↓ 键,选择CPU设置
继续按键盘 ↓ 键,找到VT 改成enabled
返回 ez mode ,保存并退出
其它主板位置可能有差异 但一般都是在CPU设置里面 找找是能看到的。
进入docker官网下载 如果没有注册 它要提示注册 先注册并验证一下邮箱
安装完成后 打开
打开的时候可能会报错误(没报错则忽略) 下载一下环境 安装就好了
点击这里下载插件
如果没有安装linux虚拟机的话 docker还会有这样一个弹框
点进去这个网址,找到下图位置
根据里面的教程来安装 注意是使用powershell 输入命令 (windows10自带)
这里把我们需要操作的步骤都框起来了 很详细的教程有没有!
首先 mvn package 把springboot打成jar包
可以在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 目录下
其中9090是docker对外端口 ,8080是springboot项目配置端口
docker run -p 9090:8080 -t boot4dk.jar
可以看到项目启动成功 注意jar包命名要用小写字母 不然会报错
docker images
可以看到我们的boot4dk已经在里面了
这句命令含义是 将 boot4dk.jar 导出至 d:\dockeros (注意这个路径也必须小写) 命名为bootdemo.tar ;
过程会有点慢 因为需要将java环境一起导出
docker save -o d:\dockeros\bootdemo.tar boot4dk.jar
一定要注意是 < 输错了会导入失败 且导致镜像被破坏
docker load <bootdemo.tar
还记得前面我们启动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验证一下
核心是配置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界面
cd /app
再次强调命令是 < 输错了镜像也坏了 只能重新传一份了 或者一开始就cp命令备份一份
docker load <bootdemo.tar
到此教程结束 因为踩了Ubuntu登录的坑 写了一天才把博客给写完 不容易