- 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- 首先安装前 检查一下虚拟技术(VT)是否开启
- 如果状态为已禁用 需要进入BIOS设置 ,电脑重启 显示屏亮起时 屏幕会提示怎么进入 一般是按del 进入BIOS模式 , 一般主板开启VT是比较容易的 ,这里用比较复杂的华硕主板举例:
按F7 (不同主板可能有区别)进入advance mode 找到高级设置
按键盘 ↓ 键,选择CPU设置
继续按键盘 ↓ 键,找到VT 改成enabled
返回 ez mode ,保存并退出
其它主板位置可能有差异 但一般都是在CPU设置里面 找找是能看到的。
- 电脑开机 再次查看 虚拟化是已开启状态。
- 把windows功能的Hyper-V 勾选上
-
进入docker官网下载 如果没有注册 它要提示注册 先注册并验证一下邮箱
-
安装完成后 打开
打开的时候可能会报错误(没报错则忽略) 下载一下环境 安装就好了
点击这里下载插件
如果没有安装linux虚拟机的话 docker还会有这样一个弹框
点进去这个网址,找到下图位置
根据里面的教程来安装 注意是使用powershell 输入命令 (windows10自带)
这里把我们需要操作的步骤都框起来了 很详细的教程有没有!
- 再次打开我们的docker ,这时在powerShell 里面输入 docker --version (注意是双横杠)验证是否安装成功
首先 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 images
可以看到我们的boot4dk已经在里面了
这句命令含义是 将 boot4dk.jar 导出至 d:dockeros (注意这个路径也必须小写) 命名为bootdemo.tar ;
过程会有点慢 因为需要将java环境一起导出
docker save -o d:dockerosbootdemo.tar boot4dk.jar
一定要注意是 < 输错了会导入失败 且导致镜像被破坏
docker loadlinux安装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虚拟机
linux 导入镜像
这里我是在根目录建立了一个app文件夹 将镜像复制进app
复制完后 回到我们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 stopdocker 镜像相关命令# 列出所有镜像 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命令详解暂略 后面补充



