当前位置: 首页 > news >正文

政府网站内容建设咨询/官网百度

政府网站内容建设咨询,官网百度,重置wordpress,wordpress数据清理插件目录windows10安装dockerwindows10 docker部署springboot项目编写Dockerfile文件镜像导出、导入docker启动命令docker查看列表命令docker 导出镜像命令docker 导入镜像命令linux安装docker(ubuntu)linux docker部署springbootlinux前提配置linux 导入镜像linux 启动镜像命令详解…

目录

  • windows10安装docker
  • windows10 docker部署springboot项目
    • 编写Dockerfile文件
  • 镜像导出、导入
    • docker启动命令
    • docker查看列表命令
    • docker 导出镜像命令
    • docker 导入镜像命令
  • linux安装docker(ubuntu)
  • linux docker部署springboot
    • linux前提配置
    • linux 导入镜像
    • linux 启动镜像
  • 命令详解
    • docker常用命令
      • docker 服务启动相关命令 (注:指linux层面的服务)
      • docker 启动相关命令
      • docker 镜像相关命令
    • Dockerfile命令详解
  • linux安装docker(centos) 官方教程

linux安装docker 不声明linux版本的教程 都是耍流氓的教程
通过本文也会知道为什么那么多教程不一样

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自带)
在这里插入图片描述
在这里插入图片描述
这里把我们需要操作的步骤都框起来了 很详细的教程有没有!
(我在写这些教程的时候是崩溃的, 博客还没写完 刚好遇到微软更新文档了)
注意是使用windows自带的powershell输入命令 ,会将linux下载到当前cd路径

Invoke-WebRequest -Uri https://aka.ms/wslubuntu2004 -OutFile Ubuntu.appx -UseBasicParsing

这里也是让我很头大的地方,微软上一版教程是举例Ubuntu16的, 结果我下载后 docker和linux内核一直有冲突问题,这个坑我替各位踩了 麻烦复制上面命令 上面这条命令就是下载Ubuntu20.04 。如果已经下载了Ubuntu16 或者其它的低版本,且启动docker时,很不幸出现了OCI runtime exec failed: exec failed: container_linux.go:345:getting the final child’s pid from pipe caused “EOF”": unknown 问题,卸载重安装一个Ubuntu20吧 升级内核的方法基本都是行不通的。

下载完成后 输入命令

# Ubuntu.appx 为下载的文件名称
Add-AppxPackage Ubuntu.appx

如果之前安装过Ubuntu16 先使用卸载命令:

# *Ubuntu16*  表示模糊搜索该名称的Appx包,  |为连接符,  remove-AppxPackage 表示移除
get-AppxPackage *Ubuntu16* | remove-AppxPackage

这里还有个很不幸的情况(没错 这个坑我也替大家踩了),就是如果已经安装了Ubuntu16,没有第一时间卸载,但是cd到另一个目录 又同时安装了20 , 这个时候会导致filezilla 只能连上Ubuntu16系统, 20是连接不上去的。 这个时候需要卸载Ubuntu16,20 ,并且重启windows一定要重启 否则再安装Ubuntu20 会报错Add-AppxPackage : 部署失败,原因是 HRESULT: 0x80073CF6, 无法注册包
在这里插入图片描述

  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:\dockeros\bootdemo.tar boot4dk.jar

在这里插入图片描述
在这里插入图片描述

docker 导入镜像命令

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

docker load <bootdemo.tar

linux安装docker(ubuntu)

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

双击启动Ubuntu :
在这里插入图片描述

在这里插入图片描述
默认root是没有密码的,截图中的用户名 是我创建的用户
在这里插入图片描述
在自己账户下输入命令

sudo passwd root

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

接下来切换到root用户

su root

将自带的旧版本docker卸载

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

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

避坑点: 上面提过 Ubuntu16是会有linux环境问题的 (体现在启动镜像时),但因为网上的教程五花八门
所以这个也需要了解一下 :在Ubuntu16 中apt-get安装docker方式 : apt-get install docker.io

在Ubuntu20 中 ,apt-get install docker.io 会报错,提示没有这个资源:Package docker.io is not available, but is referred to by another package. 有的教程会推荐 先apt-get update ,再apt-get install docker.io ,但是这个安装是没有docker服务的 启动docker服务时会出现 docker: unrecognized service , 下面介绍Ubuntu20正确安装方式 会比较繁琐:

# 更新apt工具
sudo apt update# 安装必要的依赖软件,来添加一个新的 HTTPS 软件源
sudo apt install apt-transport-https ca-certificates curl gnupg-agent software-properties-common# 使用下面的 curl 导入源仓库的 GPG key
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -# 将 Docker APT 软件源添加到你的系统
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"# 安装docker 最新版
sudo apt install docker-ce docker-ce-cli containerd.io# 检查docker状态
service docker status    或  systemctl status docker# 启动docker服务service docker start 或 systemct start docker 

在这里插入图片描述

下载过程就是等待 等待过程发现有的时候它会假死在命令界面 时不时按几下enter键就好了

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禁止密码登录 改成可以远程登录

此外 还需要将PasswordAuthenticationChallengeResponseAuthentication都改为yes

PasswordAuthentication yes
ChallengeResponseAuthentication yes

重启ssh服务:

service ssh restart
或
systemctl restart ssh  (或将ssh改成sshd 取决于不同的Linux版本 在centos7,8中是sshd)

这里可能会报错 sshd: no hostkeys available – exiting.
输入下面命令 并连续按下回车

 ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key

在这里插入图片描述

在这里插入图片描述

当然 也可能在某些Ubuntu版本中 出现多个提示:
在这里插入图片描述
分别输入命令 按回车 回车 ,总之就是它提示缺少什么 我们就按照名字生成一下

 ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_keyssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_keyssh-keygen -t ecdsa -f /etc/ssh/ssh_host_ecdsa_keyssh-keygen -t ed25519 -f /etc/ssh/ssh_host_ed25519_key

这个时候再重启ssh就可以了
在这里插入图片描述
生成key之后 不要忘记了输入重启命令

service ssh restart
或 systemctl restart ssh    (或sshd)

打开filezilla 测试是否能登录
在这里插入图片描述

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

linux 导入镜像

cd /app

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

docker load <bootdemo.tar

在这里插入图片描述

linux 启动镜像

# 列出所有镜像
docker images
# 启动镜像docker run imageName

示例如下图 (我的bootdemo.tar 镜像名字为boot4dk.jar , 当然说它是仓库,不是镜像名也对 能懂就行 不咬文嚼字)
在这里插入图片描述

我们上面的举例是远程打包好了镜像 再进行导入的 那么如果想直接在linux上面部署项目至docker应该怎么做呢? 和windows教程类似:

# 最后面有个 . 表示dockerfile在当前目录
docker build  -t boot4dk.jar .
# build完之后 再run就好了 9090是docker对外端口 8080是项目端口
docker run -p 9090:8080 -t boot4dk.jar
(run 的时候可能会提示要登陆 没有账号的话  去它报错信息中给出提示的网站是注册一下就好了)

命令详解

docker常用命令

docker 服务启动相关命令 (注:指linux层面的服务)

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构建 注意后面有个 .  表示dockerfile在当前路径
docker build -t  xxx.jar .# docker 后台启动 并输出日志 其中9090是docker端口 8080是项目端口 xxx是jar包名  2>&1 表示错误 重定向标准输出
docker run  -d -p 9090:8080 -t xxx.jar >output 2>&1# docker 停止服务 如果停止不了 就用下面的移除命令吧 containerId也可以是container name
docker stop containerId

docker 镜像相关命令


# 列出所有镜像
docker images# 移除某个镜像 imageId或name都可以
docker rmi imageId#  移除所有镜像
docker rmi $(docker images -aq)# 列出所有容器(运行中)
docker container ls 或 docker ps# 列出所有容器 (包括非运行)docker container ls -a# 列出所有容器的id (包含非运行)
docker container ls -aq# 删除所有未被 tag 标记和未被容器使用的镜像:docker image prune# 删除所有未被容器使用的镜像:docker image prune -a# 删除所有停止运行的容器:docker container prune# 移除某个容器 
docker rm containerId# 移除所有容器, $() 可以替换为反引号 ``
docker rm $(docker container ls -aq)# 移除某个镜像下的容器 grew -w :精确查找,awk '{print $1}' awk语法 显示第一列(ID列)
docker rm -f `docker container ls -a|grep -w  ImageName|awk '{print $1}'` # 移除某个端口的容器
docker rm -f `docker container ls -a|grep -w  yourPort|awk '{print $1}'`

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命令详解

暂略 后面补充

linux安装docker(centos) 官方教程

地址: https://docs.docker.com/engine/install/centos/

教程到此结束了 本篇博客过程中列出了很多bug 踩坑点 多注意一下

踩的坑多了 路也就平了

http://www.lbrq.cn/news/1429903.html

相关文章:

  • 如何建设网站方便后期维护/seo运营做什么
  • wordpress的语言/seo门户网站
  • 衡水网站建设套餐/常州百度推广代理
  • 网站运营内容建设方案/广告联盟平台自动赚钱
  • oss做网站迁移/游戏推广引流软件
  • git怎么做隐私政策网站/软文发稿系统
  • 有没有房建设计的网站/需要优化的网站有哪些
  • 广东省党的建设研究会网站/百度网站收录提交入口全攻略
  • 丰联汽配网站建设成本/哪里做网络推广好
  • 有什么好的互联网平台做网站/网站域名备案查询
  • 旅游公司网站难做吗/免费的网站软件
  • 怎么在后台设置网站的关键词/广州网站关键词推广
  • 安徽省建设厅证书查询官方网站/网络营销个人总结
  • 沈阳网站制作的公司/seo培训价格
  • 请seo的人帮做网站排名/浙江seo外包费用
  • 挂机宝如何做网站/长春网站优化
  • 湖南长沙岳麓区疫情最新消息/广州专门做seo的公司
  • 湖南省住房城乡建设网站/网页推广链接怎么做
  • 网站rp原型图怎么做/品牌网
  • 沈阳企业定制网站建设/精准的搜索引擎优化
  • 什么网站做护工/ciliba最佳磁力搜索引擎
  • 淘宝网站建设维护会计科目/成年学校培训班
  • 网站顶端flash/教育培训网页设计
  • 上海百度做网站/网站自然排名工具
  • 网站制作加谷歌推广/网站排名推广推荐
  • 开发商城网站建设/友情链接源码
  • 保定专门做网站的公司/网推是什么
  • 菏泽网站建设哪好/百度推广网址
  • dj网站建设/长沙seo网络公司
  • 网站域名是不是网址/seo教学视频教程
  • 以下是对智能电梯控制系统功能及系统云端平台设计要点的详细分析,结合用户提供的梯控系统网络架构设计和系统软硬件组成,分点论述并补充关键要点:
  • C++第二十课:快递运费计算器 / 黑白配+石头剪刀布小游戏
  • 深度学习-卷积神经网络CNN-批量归一化 BatchNorm
  • 嵌入式第二十八天(程序与进程)
  • python+vue扫盲
  • 宋红康 JVM 笔记 Day01|JVM介绍