容器学习------Docker(一、Docker初体验和Linux初体验)

Docker微容器之Alpine Linux 初体验 0x00 前言 Alpine Linux是一个面向安全的轻型的Linux发行版,基于Alpine Linux的超小型Docker镜像,大小只有5MB,并且可以访问比其他基于BusyBox的镜像更完整的包存储库。Alpine Linux采用了 musl libc和busybox以减小系统的体积和运行时资源消耗,由于小巧、功能完备,非常适合用于作为容器的基础镜像。 Alpine Linux有以... 阅读详情

官方定义:Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。

为了能更加简介名了的了解Docker,这里我拿部署一个项目不使用Docker和使用Docker的流程来体现出Docker的功能。

1、不使用Docker部署一个JE22项目到云服务器

大家平时比编程大多还是使用windows系统,但是企业中服务器一般还是使用Linux,所以我这里就用把一个JE22项目部署到Linux云服务器为例进行介绍:

1、购买Linux的云服务器,目前有很多可选,阿里云、腾讯云等。。。等,并安装FTP

2、在购买的云服务器里面部署好JAVA环境(jdk,jre,环境变量。。等等)

3、安装数据库,配置数据库

4、安装TOMCAT并配置

5、开放tomcat和系统相关端口

6、上传jar包或者war包(jar包的话不需要tomcat)

7、导入建库SQL语句

8、启动jar包或者通过启动tomcat启动war包

这么一系列的动作,才可以使用起来!原因只有一个,一台新的服务器上面没有运行相关项目的环境,得自己搭建这个环境才行。这个搭建环境的过程是如此之长, 不仅耗时耗力,而且只要有一步忘记了,或者做错了,都会卡在那里做不下去,无法得到最后想要的效果了。所以才催生了容器的存在,下面我们来看一下如果使用容器Docker部署项目的流程:

2、使用Docker部署一个JE22项目到云服务器

1、购买Linux云服务器,这是必不可少的

2、安装Docker,在Docker里面装个小的操作系统Linux

3、把上面不使用Docker过程中8个步骤放到Docker里面

4、把 Docker 里面这个,已经有环境,已经装好了J2EE应用,已经确保可以用的 "Linux 操作系统” 整个儿扔给用户,
这就是 Docker ~简洁了用户部署的内容。

总而言之,使用Docker可以使用户非常简单的就可以配置好你给他的系统,避免了繁琐的环境配置!所以让我们学习使用Docker来部署我们的系统吧!

安装 Linux 虚拟机

一般大家都是没有自己的Linux服务器的,这里我们采用在自己的windows版电脑中安装一个Linux虚拟机来满足我们的需要。这里我们通过 VMWare 虚拟机 安装 Linux。首先,我们来了解一下什么是虚拟机。虚拟机,其本质其实也是一个程序。 但是这个程序,模仿了一台完整的主机,一旦进入了这个程序,就放佛进入了另一台独立的电脑似的。 这个“独立的电脑” 有其CPU,内存,硬盘,网络,ip地址等等 独立的资源。 这个所谓的 “独立的电脑” 就是虚拟机。在这个虚拟机里安装一个Linux 操作系统,与我们花钱在 阿里云上买的 Linux 操作系统的使用,是一样的,所以通过在 虚拟机里的Linux ,我们就可以很好地锻炼自己的 Linux 操作技巧,等在真正的 Linux 操作系统上撸的时候,就得心应手了!

如果你的电脑是win10系统的,那么自带了个虚拟机叫做 Hiper-V. 在安装 VMWare前要把他关闭了,否则会和VMWare有冲突。这里介绍一个快速关闭Hiper-V的方法。打开控制面板然后点击程序如下图:

然后点击  启用或关闭windows功能按钮,找到Hiper-V选项,如果其处于选中状态,把勾选去掉,然后点确认。

下面我们要开始安装虚拟机了!

1、VMWare 安装程序

vmware 官网地址
https://www.vmware.com/
虽然官网地址在这里,但是大家从官网里面下载要找对地方,为了防止大家下载不到,这里我把我下载好的VmWare放到我的网盘里面了,大家可以通过下面的连接进行下载:
链接:https://pan.baidu.com/s/1TK3WHXhljpnZDbUVma0lOA 
提取码:hidb 
下载完后,我们就开始安装就可以,傻瓜式的安装,在此不再赘述。安装完后,我们打开vmware,如果看到下面这个界面,就表示已经安装好啦。

下面我们要在这个虚拟机中安装 Linux操作系统!

2、安装Linux操作系统

Linux 有收费的 红帽: Red Hat
免费的常见的有: Ubuntu,CentOS,Debian 。
他们区别大概是:
Ubuntu 界面好看
CentOS 文档丰富
Debian 稳定性强

这里我们使用的是企业中比较常用的CentOS。下面我们就来下载CentOS 镜像,vmware中安装操作系统,用的是安装镜像的办法。 CentOS的镜像地址如下:

http://mirrors.cqu.edu.cn/CentOS/7.6.1810/isos/x86_64/CentOS-7-x86_64-DVD-1810.iso

这个镜像大约4个G,大家慢慢下载就行。

3、创建新的虚拟机

 

 

客户机操作系统选择: Linux(L)
版本选择: CentOS 7 64 位:

使用默认的20G. 
默认的 将虚拟磁盘拆分成多个文件

点击自定义硬件:

内存设为2GB,不然太卡了:

使用默认的1个处理器,1核就行了。
不过: 虚拟化 Intel VT-x/EPT 或者 AMD-V/RVI(V) 必须勾上

这里就要指定 下载 CentOS 镜像 里 4.3G 大小的 ISO文件

使用默认的 NAT 模式,点击确认

最后点击完成即可。

4、开启虚拟机

 

 左边选中文,右边选 简体中文,然后点继续

到这里后,用鼠标,往下面滚动。 鼠标会有点生硬,要使劲滚。
有两个需要配置
1. 安装位置
2. 网络和主机名
点击安装位置

 进来后,什么都别动。。。 点击完成

自动退回来后,就看到 安装位置那里不是红的了。
然后点击网络和主机名

右上角,点成打开,然后点击完成

然后点击开始安装:

 

然后就开始安装了,这期间可以点击 ROOT 密码进行密码设置

设置密码:******
后面链接要用这个密码。

然后就在这个界面等一下安装吧。

安装好点击重启即可!

重启后,就出现重启界面:
登陆账号是: root
密码是你自己设置的密码。
登录成功后,就正常使用了!

这里要提醒大家的是linux系统在输入密码时是没有任何输入提示的,你只管输入就行了,输完直接enter!

 然后我们来看一下我们的IP地址:

执行命令:ip address

然后我们就知道虚拟机网卡 ens33对应的地址了:

192.168.254.128

每个人的都不一样,你的是你的,我的是我的。

这样我们的虚拟机就安装上Linux操作系统了!

5、SSH 客户端链接示例

有了ip地址,有了账号密码,就可以通过SSH客户端链接了。

通过上面的课程就搭建了Linux的服务器,接下来就要到这个服务器上去进行一系列的操作了。 但是服务器所处于的位置在我们的虚拟机里面,包括后面我们可能购买一些云服务器,这些云Linux的服务器基本都在厂家那里。我们一般不大可能到现场去进行操作,那么怎么办呢?
那就要借助客户端工具来链接到Linux服务器上进行相关操作了,客户端工具有很多种,这里采用个人比较熟悉的securityCRT。

为了方便大家学习,我已经下载好并且放到百度云网盘了,大家可以自行下载,链接如下:

链接:https://pan.baidu.com/s/1OfeQPvU59MCEkcUUwMF5aA 
提取码:uirg 
直接运行就可以。

第一次打开之后,就会看到如图所示的效果。

然后我们来看一下如何使用这个工具链接到我们的Linux服务器:

Protocol :使用默认的SSH2
Hostname: 使用虚拟机中的IP,后期如果大家购买了云服务器,这里可以输入你的云服务器IP,我的是本地虚拟机IP是:192.168.254.128,你们要根据自己的服务器进行调整。
Port: 使用默认的22. 
Username: 使用root

这里询问是否保存主机信息,点击 Accept & Save

这里要输入密码。

如图所示,链接成功之后是这样的效果

再输入 :ip address命令进行测试如下:

这样,我们就用 ssh 客户端链接上Linux服务器了!

6、Linux防火墙设置

CentOS 上通过 firewall 来进行防火墙的工作。 
防火墙的工作简单说,就是运行那些端口开放给访问者用,哪些不开放~这在我们系统开发中也很实用

以通过命令安装防火墙:yum -y install firewalld firewall-config

下面我们来看一下防火墙的生命周期管理:

1、为了启动防火墙,要先重启下 dbus   

systemctl restart dbus 

然后通过如下命令进行防火墙生命周期管理
启动一个服务:

systemctl start firewalld.service

关闭一个服务:

systemctl stop firewalld.service

重启一个服务:

systemctl restart firewalld.service

显示一个服务的状态:

systemctl status firewalld.service

在开机时启用一个服务:

systemctl enable firewalld.service

在开机时禁用一个服务:

systemctl disable firewalld.service

查看服务是否开机启动:

systemctl is-enabled firewalld.service

查看已启动的服务列表:

systemctl list-unit-files|grep enabled

查看启动失败的服务列表:

systemctl --failed

下面我们再来看一下防火墙的一些配置

查看版本:

 firewall-cmd --version

查看帮助: 

firewall-cmd --help

显示状态: 

firewall-cmd --state

查看所有打开的端口: 

firewall-cmd --zone=public --list-ports

更新防火墙规则: 

firewall-cmd --reload

查看区域信息: 

firewall-cmd --get-active-zones


查看指定接口所属区域: 

firewall-cmd --get-zone-of-interface=eth0


拒绝所有包,测试别用这个。不如然只有到VMWare 的终端上去关闭防火墙 SSH 客户端,稍显麻烦:

firewall-cmd --panic-on


取消拒绝状态: 

firewall-cmd --panic-off


查看是否拒绝: 

firewall-cmd --query-panic

那怎么开启一个端口呢
添加 
注1:--permanent永久生效,没有此参数重启后失效
注2:增加了要用 firewall-cmd --reload,才会生效

firewall-cmd --zone=public --add-port=80/tcp --permanent

重新载入

firewall-cmd --reload

查看

firewall-cmd --zone=public --query-port=80/tcp

删除

firewall-cmd --zone= public --remove-port=80/tcp --permanent

这样我们把常用的防火墙命令也介绍完了!

7、Linux常用工具

刚装的 CentOS , 有些工具有,有些没有,所以我会习惯性地装如下工具
yum install iproute ftp bind-utils net-tools wget -y

其中:
iproute 用来执行 ip address 查看本机地址
ftp 用来测试ftp 服务器
bind_utils 用来运行 nslookup
net-tools 用来执行 netstate
wget 既是执行 wget的

这些工具都是比较常见的,尤其在检验某个服务是否正常工作的时候,会起到很好的作用

安装好以后我们来看一下:

ip address

 

ftp

显示拒绝链接,当然,现在没有ftp 服务器,会显示拒绝链接。
通过输入 bye 退出

nslookup

nslookup www.baidu.com

可以看到,域名服务器是 192.168.254.2. 而 192.168.254.2 就是宿主机的地址。

netstat

netstat -anp|grep 8080

用于查看某个端口是否开放

wget

wget http://www.baidu.com

获取网络资源

本节内容就先暂时到这儿!

这一节,我们了解了Docker的作用,然后为了在Linux里面部署Docker,我们在本机通过VMWare新建了一个Linux虚拟机,并初识了一些Linux的命令!

下一节,我们将一起学习如何在我们建好的Linux系统中安装Docker,加油!

 

chemkin7NASA多项式系数怎么找?找到了9NASA系数,但是不知道怎么转换成7NASA系数? 🏆本文收录于 《全栈 Bug 调优(实战版)》 专栏。专栏聚焦真实项目中的各类疑难 Bug,从成因剖析 → 排查路径 → 解决方案 → 预防优化全链路拆解,形成一套可复用、可沉淀的实战知识体系。无论你是初入职场的开发者,还是负责复杂项目的资深工程师,都可以在这里构建一套属于自己的「问题诊断与性能调优」方法论,助你稳步进阶、放大技术价值 。 阅读详情

相关推荐

pycparser-2.18.tar.gz_cekc 18_cekc pyckn_cekc18_chargeo8a_python

python C parser library which used for python version above 3.6

POJ 3295 Tautology解题报告

http://poj.org/problem?id=3295算法主要思路: 1. 获取所有的终结字符(小字符),组合所有的可能性(0或者1); 2. 然后带入到输入的字符串中进行计算 3. 如果所有组合的输出都是真(1),那么就是Tautology;否则是not注意事项: 1. 两个难点,一个是组合的产生;另一个是计算。计算需要从字符串的最后开始朝开始”规约“,直到最后只有一个符号。需要有点

wangdeqiang2007的博客 6万+

JAVA 18位身份证号码校验码的算法

public static char doVerify(String id) { char pszSrc[]=id.toCharArray(); int iS = 0; int iW[]={7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2}; char szVerCode[] = new char[]{‘1′,’0’, ‘X’, ‘9’, ‘8’, ‘7’, ‘6’, ‘5’, ‘4’, ‘3’, ‘2’}; int i; for(i=0;i<17;i++) { iS += (int)(pszSrc[i]-‘0’) * iW[i]; } i

Clickhouse - System Tables 集合(一)

Clickhouse自带系统库system,启动时创建系统表,无数据文件,主要用于记录Clickhouse的系统信息和状态指标。 1.query_log 作用:ClickHouse开启慢sql查询 开启方法: 打开各个ClickHouse实例的users.xml文件,在默认配置最上层profile(如default)中加入: <log_queries>1</log_queries> service clickhouse-server restart 注意:如添加该参数之后

style_boy的博客 2万+

Moltbot 超详细安装使用教程(初学者版)

你在外面逛街,用微信/Telegram 发消息说"帮我查一下明天的天气"它立刻帮你查好并回复你说"帮我在电脑上新建一个文件夹叫'工作文档'"它真的帮你在电脑上创建了这就是 Moltbot ——一个能真正帮你干活的 AI 助手。API Key 就像是一把"钥匙",让 Moltbot 能够使用 AI 服务。

weixin_51040479的博客 2017

Pinocchio 安装教程|机器人学的必备库

安装pinocchio,不要安装pip3 install pinocchio!

darcsdn 1662

①【Docker】Linux安装Docker容器教程

docker安装使用

ebb29bbe的博客 1340

知识图谱_知识图谱 | 知识图谱做用户画像

导读:最近一直在思考怎么用知识图谱做推荐,但是目前能知道的内容都是基于路径的推荐和基于图特征的推荐,所以能不能换一个角度,探究一下用知识图谱怎么做用户画像,因为画像也是推荐系统重要的一部分。现在的知识图谱+推荐怎么做的传统的用户画像怎么做现在的知识图谱+推荐怎么做的?基于路径:可以理解成基于图谱的多路径召回,或者多路径推荐,然后根据路径的转移概率进行排序从而达到推荐的效果,基于路径比较适合简单的推...

weixin_28801659的博客 1460

【Docker】Docker容器学习笔记

Linux容器是与系统其他部分隔离开的一个或一组进程,运行这些进程所需的文件都由另一个特定镜像提供,这意味着从开发、测试、再到生产的整个过程中,Linux容器都是可移植且一致的,相较于依赖重复传统测试环境的开发渠道,使用容器会快得多。相较于虚拟机VM,Linux容器在运行时占用的资源更少,使用的是标准接口(启动、停机、环境变量等),并会与应用隔离开,当作为大型应用(包含多个容器)的一部分时更加易于管理,而且这些多容器应用可以跨多个云环境进行编排。Linux容器有很好的可移植性,但前提是它们。

张壮壮的博客 1394

CS1237卡尔曼滤波实战:如何用24位ADC实现电子秤级精度?

本文详细介绍了如何利用CS1237 24位ADC芯片结合卡尔曼滤波算法实现电子秤级精度测量。通过解析CS1237硬件特性、卡尔曼滤波原理及STM32驱动优化,提供了一套完整的解决方案,包括多通道支持、驱动代码实现和性能调优技巧,适用于工业测量和嵌入式开发领域。

linux的博客 1087

从标记基因到功能分析:手把手教你人工注释单细胞亚群的完整流程

本文详细介绍了人工注释单细胞亚群的完整流程,从标记基因筛选到功能分析验证,特别针对肿瘤微环境、发育轨迹等复杂场景提供解决方案。通过差异表达分析、多维数据整合和实验验证,帮助研究者准确识别细胞类型,提升单细胞转录组研究的生物学解读深度。

jenkins8butler的博客 244

Linux必看Docker 容器入门(一)

Linux容器是与系统其他部分隔离开的一系列进程,从另一个镜像运行,并由该镜像提供支持进程所需的全部文件。容器提供的镜像包含了应用的所有依赖项,因而在从开发到测试再到生产的整个过程中,它都具有可移植性和一致性。更加详细地来说,请您假定您在开发一个应用。您使用的是一台笔记本电脑,而且您的开发环境具有特定的配置。其他开发人员身处的环境配置可能稍有不同。您正在开发的应用依赖于您当前的配置,还要依赖于某些特定文件。与此同时,您的企业还拥有标准化的测试和生产环境,且具有自身的配置和一系列支持文件。...

m0_73494896的博客 1224

从星形到三角形:永磁同步电机FOC+SVPWM控制的相位偏移与扇区重构

本文深入探讨了将FOC+SVPWM控制方案从星形接法永磁同步电机移植到三角形接法时遇到的核心挑战。文章重点解析了由绕组连接方式差异导致的30度相位偏移问题,并详细阐述了如何为此重构扇区判断逻辑、矢量作用时间计算以及电流采样变换,为工程师提供了从理论到实践的完整移植指南。

ujm5678901的博客 544

【Linux docker 容器】关于想要让虚拟机在开机时候也docker自己启动,容器也自己启动,省去要自己开docker和容器

它适用于那些需要在维护、升级或调试期间暂时停止的服务,但又不希望这些服务在停止后自动重启的情况。行为:只要容器没有被手动停止,Docker就会自动重启它。如果容器被手动停止了,则不会自动重启,除非再次手动启动。: 在设置了 Docker 服务和容器的自动启动后,你可以重启虚拟机来验证设置是否生效。,这样容器就会在 Docker 服务启动时自动启动,并且在容器退出时也会自动重启。行为:无论容器的退出原因是什么,Docker都会自动重启该容器。如果你是在创建容器时就想设置自动重启策略,你可以在。

weixin_63107823的博客 1404

在Keil下完成一个汇编程序的编写

在学习STM32的路上开始是学的C语言尚未进行对汇编进行学习,因此抽出时间来学习一下在keil下的汇编语言。

Liu-FE的博客 1万+

材料仿真软件:Quantum Espresso_(15).声子与振动模式计算

通过上述步骤和代码示例,您应该能够使用 Quantum Espresso 进行声子与振动模式的计算。声子计算是材料科学研究中的重要工具,可以帮助我们更好地理解和设计材料的性能。希望本节内容对您有所帮助。

kkchenjj的博客 1184

Linux上安装和使用Docker容器的指南

Linux上安装和使用Docker容器的指南

乐于分享,共同成长 947

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

在linux创建docker,运行docker容器

docker容器的创建 添加链接描述

qingwenc的博客 4260

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Linux学习之Docker镜像和容器

前言 之前已经把Docker安装好了,接下来就是操作的时刻了。真所谓手下见真章。 步骤 首先我们先启动docker 接下来就是对镜像的操作, 举个例子,如果我们要去超市买东西,首先我们应该先去找我们要买的东西,然后把东西放进我们购物车中,然后付钱之后,才能开始用或者吃我们买的东西。 想要使用Docker Hub中镜像,首先我们要先去搜索,我以tomcat为例: 我们从Docker Hub中搜索...

weixin_42803027的博客 384

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

如何学习和使用容器化技术(如Docker)?

Docker Compose 是一个强大的工具,用于定义和运行多容器应用程序。通过遵循上述教程和最佳实践,可以有效地管理和部署复杂的容器化应用。

破损的天堂鸟博客 1162

LCOW —— 单一Docker引擎下可同时运行Linux和Windows容器啦!

就在上周,Docker官方的master分支上新增了LCOW(Linux Containers on Windows)[1]功能。启用这项功能,即可在单一的Docker引擎下,同时运行Linux和Windows容器。下面赶紧跟小编一起,看看Windows 10将会发生哪些变化?可以用Docker命令docker ps,列出所有正在运行的Linux或Windows容器。在容器和主机之间通过存储卷共享

Docker的专栏 6573

Linux中使用Docker容器部署环境

Linux使用Docker容器部署环境 利用连接工具连上服务器(我这里用的是Xshell) 查看linux的版本:uname -r 我这里是3.1的最好要3.0以上的 更新yum命令:yum update 使用yum安装docker:yum install docker(如果想卸载请使用命令:yum remove docker \) 启动docker服务:systemctl ...

C_S_D_N__JOY的博客 2001

linux下docker容器实际位置

Linux下Docker容器实际位置 在Linux系统中,Docker是一种轻量级的虚拟化技术,可以帮助开发者快速部署和运行应用程序。Docker容器是在Docker引擎中运行的独立的应用程序和服务的实例。那么,这些Docker容器在Linux系统中究竟处于什么位置呢?本文将介绍如何查看Linux系统中的Docker容器实...

weixin_42095295的博客 782

linux有哪些容器技术,Linux容器技术和docker

发展历程:容器技术最早出现在FreeBSD上叫做 jail,将一个进程放入jail中运行,不管这个进程在其中发生怎样的错误都不会影响到系统上其他进程的运行jail技术在Linux中的实现叫做vserver,vserver所实现的功能体现为chrootnamespaces:容器技术出现的主要目的是为了"资源隔离"资源隔离包括:名称 描述 内核版本U...

weixin_31527905的博客 1345
上一篇: 消息中间件------ActiveMQ
下一篇: SpringCloud学习(一、初识分布式)
MagicMHD
博客等级 码龄9年 503粉丝 78原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值