• 云服务器与docker环境配置


    前言

              学习 配置云服务器与doccker 内容!

    一、云服务器的作用

    1. 云计算
    2. 云服务器都具有公网 ip,获得公网 ip,让每个人都可以访问到服务器。

    二、云服务器的分类

    1. 租毛坯服务器:可以根据自己的需求就行修改,一般用于跑框架、thrift 等。
    2. 租某个服务:是已经配置好的标准化的环境,不能根据自己的需求定制化修改,例如,数据库服务。提供服务的方式有两种,一种是通过 socket(ip + 端口),另一种是通过 http(向服务器发送链接服务器返回结果)。
    3. 毛坯服务器与各种服务之间的关系:一个项目的中心节点为一个毛坯服务器(存放框架,例如,django 框架),中心框架可以调用各种服务,重点就是将毛坯服务器搭建好。
      在这里插入图片描述

    三、服务器与本地客户端的关系

    1. 本地终端作为窗口通过 ssh 登录到租到的服务器上(第二层,相当于一个房子),在服务器上开任意多个 docker 容器(虚拟的小的服务器,相当于在房子里又建了一些小房子,小房子之间相互独立),未来我们开发的主要工作环境是在 docker 容器里进行开发。
    2. docker 容器的优点:云服务器难迁移,docker 可以脱离云平台的束缚,可以迁移。同时提供配置好的环境镜像,在 docker 上开发可以保证所有人的开发环境是相同的。
    3. 进入到 docker 容器的方式有两种:一种是先登录到运行 docker 容器的服务器上,然后通过命令进入到 docker 容器。另一种是将 docker 容器配置好 ssh 登录,在任意终端可以通过 ssh 登录到 docker 容器开发

    在这里插入图片描述

    四、配置租好的服务器

    1. 创建工作用户 acs 并赋予 sudo 权限:租好的云服务器默认是根用户目录,创建一个非根用户目录给这个用户分配 sudo 权限,如果需要根用户权限的话在命令前添加 sudo 即可,不需要则不需要添加,保证安全操作。

      // 命令
      adduser acs  # 创建用户acs
      usermod -aG sudo acs  # 给用户acs分配sudo权限
      
      • 1
      • 2
      • 3
    2. 给服务器配置别名

    3. 给服务器配置免密登录

    4. 配置服务器的工作环境:安装 tumx 和 vim

      sudo apt-get update
      sudo apt-get install tmux
      
      • 1
      • 2

      然后将本地的家目录下的 .bashrc 和 .vimrc 和 .tmux.conf 文件通过 scp 到服务器对应的账号的家目录下即可,scp ~/.vimrc ~/.tmux.conf myserver:,这样就将服务器端的 tmux vim 配置成和本地一样的样式了。

    5. 安装 docker 官网链接
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述

    五、docker

    作用

    可以在各种不同的服务器下有相同的软件版本运行环境,可以将搭建好的 docker 环境快速迁移到其它服务器上,docker 可以看成是一个服务器,操作和其它服务器操作一样。
    为了避免每次使用 docker 命令都需要加上 sudo 权限,可以将当前用户加入安装中自动创建的 docker 用户组。

    // 执行完此操作后,需要退出服务器,再重新登录回来,才可以省去sudo权限。
    sudo usermod -aG docker $USER
    
    • 1
    • 2

    基本概念

    镜像(image)

    镜像可以有多个,相当于一个模板,每个 image 都可以生成若干个容器,用相同镜像生成的容器一样,每个容器相当于独立的云端服务器。
    镜像可以生成若干干容器,容易也可以打包成一个镜像。
    迁移:

    镜像相关命令

    所有镜像都由两部分组成:xxx:xxx: 前为镜像名称,后面的版本号
    docker pull xxx:xxx:从官网拉取一个镜像
    docker images:列出本地所有镜像

    docker rmi xxx:xxx:删除镜像
    docker save -o ubuntu_20_04.tar ubuntu:20.04:将镜像 ubuntu:20.04 打包成一个可以看到的文件(ubuntu_20_04.tar ),这样就可以实现迁移。需要给文件加上可读权限,这样将文件传到其它服务器时用户就可以读取
    docker load -i ubuntu_20_04.tar:根据文件(ubuntu_20_04.tar)生成一个镜像 ubuntu:20.04

    容器(container)

    容器相关命令

    docker create -it ubuntu:20.04:利用镜像 ubuntu:20.04 创建一个容器(只创建没运行)
    docker ps -a:显示所有容器,docker ps:显示所有正在运行的容器
    下面命令中的 CONTAINER,既可以是容器的 ID,也可以是容器的名字
    docker commit CONTAINER IMAGE_NAME:TAG:创建某个某个容器的镜像
    docker start CONTAINER:运行(启动)一个容器
    docker run -itd xxx:xxx:创建并启动一个容器(不进入容器),xxx:xxx 为镜像
    docker run -it xxx:xxx:创建并启动一个容器(进入容器),xxx:xxx 为镜像
    docker stop CONTAINER:停止一个容器
    docker restart CONTAINER:重启一个容器
    docker attach CONTAINER:进入一个容器(只能进入一个正在运行的容器)
    退出一个容器:先按 Ctrl p,再按 Ctrlq 可以挂起容器,退出容器但不停止一个容器。如果是 ctrl d 退出并停止一个容器
    docker exec CONTAINER COMMAND:在容器中执行命令(只有运行的容器才可以),类比 ssh 章节自动化运维部分
    docker rm CONTAINER:删除一个容器(不能删除一个正在运行的容器),注意与删除镜像的区别,删除镜像是 rmi
    docker container prune:删除所有已停止的容器
    docker cp xxx CONTAINER:xxx (第一个xxx为文件名,第二个xxx为容器中目路径)或 docker cp CONTAINER:xxx xxx (第一个xxx为容器中文件路径,第二个xxx为本地路径):在本地和容器间复制文件,文件既可以是文件夹也可以是文件。
    docker rename CONTAINER1 CONTAINER2:重命名容器

  • 相关阅读:
    评论式软文怎么写?学会这三招,让你轻松营造出客观的感觉
    南大通用GBase8s 常用SQL语句(240)
    17-Go并发之锁
    C#堆排序算法
    【openstack】卷迁移导致的虚机热迁移失败问题排查及解决
    HTML换行标签是什么 - 编程
    Zabbix监控指定端口
    J2EE项目部署与发布(Windows版本)
    React新手必懂的知识点
    PHP如何实现订单的延时处理详解
  • 原文地址:https://blog.csdn.net/weixin_39903708/article/details/126018641