linux高阶--SSH服务及Docker

SSH服务

在linux 中SSH 是非常常用的工具,通过ssh客户端,我们可以连接到运行了SSH服务器的远程机器上(服务器、电脑)
SSH协议: 是目前较可靠的,专为远程登录会话和其他网络服务提供一个安全的协议。
利用SSH协议,可以有效的防治远程管理过程中信息泄露。
SSH的另一个优点,传输数据是可以进行压缩的,传输速度快。

  • SSH 远程控制加密协议
  1. Windows 下查看 ip地址: 使用 ipconfig 命令。
  2. linux 下查看当前电脑的ip地址: ifconfig。
  • 测试客户端和服务器是否能连接
    ping 客户端、服务端ip地址。

服务器如果安装了ssh
rpm -qa|grep package
例如 rpm -qa|grep openssh 列出包含 openssh 软件信息。
在这里插入图片描述
Ssh 默认会有一个守护进程在后台监听服务器端口(22),如果有访问进行信息交互。
Ssh命令可以用来执行远程登录

使用客户端ping 服务端,查看是否能ping 通。
在这里插入图片描述

  • 远程登录服务端格式:
    ssh user@remote
    user 是在远程机器上的用户名
    remote 是远程机器的地址

在这里插入图片描述

  • 密码免登陆(秘钥登录)
    扩展: 非对称加密算法
    使用公钥加密的数据,需要使用私钥解密。
    使用私钥加密的数据,需要使用公钥解密。

在这里插入图片描述秘钥登录
首先,在本地通过算法生成公钥,然后将公钥发送给要登录的远程主机。在登录的时候, 本地使用私钥登录,忽略密码进行登录。

生成秘钥
ssh-keygen -t rsa
在这里插入图片描述.ssh目录
在这里插入图片描述
Id_rsa私钥
在这里插入图片描述Id_rsa.pub 公钥
在这里插入图片描述复制一份公钥,发送给服务端到.ssh目录下
在这里插入图片描述
在这里插入图片描述扩展: scp 命令 通过ssh机制进行文件的拷贝
复制文件(本地>>远程):scp /cloud/data/test.txt root@10.21.156.6:/cloud/data/
格式: scp 本地文件 root@10.10.42.92:/root/.ssh

复制文件(远程>>远程):scp root@10.21.156.6:/cloud/data/test.txt /cloud/data/
复制目录(本地>>远程):scp -r /cloud/data root@10.21.156.6:/cloud/data/
复制目录(远程>>本地):scp -r root@10.21.156.6:/cloud/data/ /cloud/data/

Sftp是ssh文件传输协议

          源   目的 
   Put   本地  远端 
   Get   远端  本地

Xshell

Xshell是一个远程的控制软件,使用ssh协议
Xftp 是一个远程文件传输的软件,使用stfp协议

  • 创建主机
    在这里插入图片描述
  • 登录
    在这里插入图片描述在这里插入图片描述在这里插入图片描述
    在这里插入图片描述在这里插入图片描述
    Sftp可以直接打开使用或者在xshell上使用,步骤类似xshell

Docker

虚拟化技术

  1. Anaconda
  2. VM
  3. docker
  • 什么是虚拟化
    虚拟化是一种资源管理技术,将计算机上的各种实体资源,如:服务器,网络,内存,存储进行抽象,转换后呈现出来,打破实体结构之间不可切割的障碍,使用户以更好的组态使用资源。

Vm可以虚拟化。
容器技术:在计算机上虚拟出独立的一块空间。
Vm虚拟化:需要虚拟整个计算机
容器技术:是基于物理计算机内核

容器虚拟化:

  1. 容器可以制造一个权限隔离监牢。
    ./当前目录 …/上一层
  2. 执行效率高,容器技术,在计算机系统当中只是一个进程,使用 方便,效率更高
  3. 方便部署,更容易保持程序运行环境的一致性。
  • Docker组件
    在这里插入图片描述Docker是一个c/s结构

Server 服务:Server端存储镜像
Client 客户:Client 进行镜像的下载,使用,上传

  • Image 镜像
    镜像是构建docker的基石,docker把应用程序及依赖关系包,打包到镜像文件当中,通过这个文件生成docker容器,image可以说是容器的模板。
    Docker镜像是有文件系统叠加而成的,底端是一个文件引导系统,在容器运行起来的时候,引导系统被卸载,留出更多的空间给磁盘镜像使用。

Docker安装与基本使用
Docker可以运行在windows上,linux上。
Centos系统对docker支持友好,centos上docker运行稳定。
其他系统,docker需要到官网下载,解压,安装
Centos yum源自带docker

  • 所以在centos上docker安装:
    yum -y install docker
    在这里插入图片描述

  • 查看是否安装成功
    Yum list installed |grep docker
    在这里插入图片描述

  • 启动docker
    Docker 在centos当中是一个服务,所以启动的命令是
    Systemctl start docker
    在这里插入图片描述

  • Docker 命令 查看版本
    Docker version
    在这里插入图片描述

  • 查看镜像
    Docker images
    在这里插入图片描述Repository 仓库
    Tag 标签
    Image id 镜像id
    Created 创建时间
    Size 镜像大小

  • 拉取第一个镜像
    Docker pull imgname
    在这里插入图片描述

  • 修改docker源(中国科技大学)
    Docker配置文件
    在这里插入图片描述然后添加修改
    在这里插入图片描述重新启动docker
    在这里插入图片描述重新下载:
    在这里插入图片描述

  • 启动镜像
    查看,当前没有mysql服务
    在这里插入图片描述检查网络
    Sysctl net.ipv4.ip_forward
    在这里插入图片描述如果不是,进入 /etc/sysctl.conf下修改配置文件
    在这里插入图片描述添加
    Net.ipv4.ip_forward= 1
    在这里插入图片描述然后重起网络
    Sysctl restart network
    在这里插入图片描述

  • 创建容器
    Docker create -it --name mysql8.0 mysql(镜像id) /bin/bash
    Create 创建
    -i 交互式
    -t 容器启动后会进入命令行,-i和-t一起运行容器创建之后就能登录进去,并且分配 一个伪终端
    docker create -it --name mysql8.0 91dadee7afee /bin/bash
    在这里插入图片描述

  • 启动镜像
    Docker start -ai mysql8.0
    Start 开始
    -a 将当前的输入/输出链接到容器上
    -i 将当前的输入链接到容器上
    在这里插入图片描述

  • 退出容器
    exit
    在这里插入图片描述

  • 创建并启动容器
    Docker run -dit --name=mysql8.0 91daddee7afee /bin/bash
    Run 运行
    -d 守护容器,容器当中的程序需要长期运行的时候,我们可以创建一个守护式的容器,就算exit也不会停止。
    常用守护参数的
    Mysal
    Nginx
    Apache
    tomcat
    -i 交互式
    -t 容器启动后会进入命令行,-i和-t一起运行容器创建之后就能登录进去,并且分配 一 个伪终端
    在这里插入图片描述

  • 进入容器
    Docker exec -it mysql8.0 /bin/bash
    exec 进入容器
    -i 交互式
    -t 容器启动后会进入命令行,-i和-t一起运行容器创建之后就能登录进去,并且分配 一 个伪终端
    /bin/bash进入执行的第一个命令
    退出容器用exit
    在这里插入图片描述若报错:
    在这里插入图片描述
    容器的常规管理
    Container 容器

  • Docker container ls 列出运行的容器
    在这里插入图片描述
    Container ID 容器id
    Image 镜像id
    Command 命令
    Created 创建时间
    Status 状态
    Up 启动状态
    Exited 退出状态
    Ports 端口/协议
    Name 容器的名称

  • Docker container ls --all 列出所有的容器
    在这里插入图片描述

  • dcoker container stop 容器id或者容器名称 停止运行容器

  • dcoker container start 容器id或者容器名称 开始运行容器
    在这里插入图片描述

  • docker container kill 容器id或者容器名称 杀死容器

  • docker container rm 容器id或者容器名称 删除容器
    在这里插入图片描述
    镜像打包及提交

首先,我们基于当前的容器进行了修改,比如:
我们首先创建了一个Ubuntu的容器,然后在容器当中安装了python3,安装了Django框架, 安装NGINX服务器,安装了mysql数据库,安装…其他的python web开发工具。然后将该 容器修改完成的镜像进行打包然后提交

  • Docker commit [参数] 容器名 镜像名
    -a 作者
    -c 为创建的镜像假如dockerfile命令
    -m 描述

Docker commit -m “我的docker镜像”
-p 提交时暂停容器

1、注册docker账号
2、向docker库提交镜像
我们提交的是镜像,实际上是我们用户修改过的容器当中的镜像
1、Docker container ls -all 查看所有的容器
2、登录docker hub
Docker login --username=username
Password:密码
successed
3、docker commit -m “镜像描述” -a“作者” 容器名称或者id 远程库的名字:上传到 docker hub上的名字
比如
docker commit -m “docker测试提交镜像” -a “Alex”
721b061fe45c Alex/study:djangoTesting
4、docker tag 镜像id 远程库的名字:上传到docker hub上的名字
#将镜像,容器和远程库进行标识
docker tag 32260605cf7a Alex/study:djangoTesting
5、docker push 远程库的名字:上传到docker hub上的名字
#将于远程库有标识关系的库提交
docker push Alex/study:djangoTesting

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

YouShouldKnowMe

别来这套

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值