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

【面向就业的Linux基础】从入门到熟练,探索Linux的秘密(十四)-租云服务器及配环境、docker基本命令

主要介绍了租云服务器和docker配置、基本命令!!!

文章目录

前言

一、云平台

二、租云服务器及安装docker

1.阿里云

 2.安装docker

三、docker命令

 将当前用户添加到docker用户组

镜像(images)

 容器(container)

 四、实战

总结


前言

主要介绍了租云服务器和docker配置、基本命令!!!


提示:以下是本篇文章正文内容,下面案例可供参考

一、云平台

云平台的作用:

  • 存放我们的docker容器,让计算跑在云端。
  • 获得公网IP地址,让每个人可以访问到我们的服务。

任选一个云平台即可,推荐配置:

  • 1核 2GB(后期可以动态扩容,前期配置低一些没关系)
  • 网络带宽采用按量付费,最大带宽拉满即可(费用取决于用量,与最大带宽无关)
  • 系统版本:ubuntu 20.04 LTS(推荐用统一版本,避免后期出现配置不兼容的问题) 

 

二、租云服务器及安装docker

1.阿里云

阿里云地址:https://www.aliyun.com/ 

进入官网,注册账号后打开控制台,找到云服务器ECS,创建实例即可

登录到新服务器。打开终端,然后:

ssh root@xxx.xxx.xxx.xxx  # xxx.xxx.xxx.xxx替换成新服务器的公网IP

创建acs用户: 

adduser acs  # 创建用户acs
usermod -aG sudo acs  # 给用户acs分配sudo权限

 退回到终端,然后配置acs用户的别名和免密登录,可参考ssh教程这篇博客

配置新服务器的工作环境 

将终端的配置传到新服务器上:

scp .bashrc .vimrc .tmux.conf server_name:  # server_name需要换成自己配置的别名

安装tmux和docker
登录自己的服务器,然后安装tmux: 

sudo apt-get update
sudo apt-get install tmux

 2.安装docker

sudo apt-get update
sudo apt-get install \apt-transport-https \ca-certificates \curl \gnupg \lsb-release

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

 如果上述镜像无法使用,那么采用下面这个这个镜像:

sudo curl -fsSL https://github.com/tech-shrimp/docker_installer/releases/download/latest/linux.sh| bash -s docker --mirror Aliyun

如果github连接不上的话,可以连接国内的gitee:

sudo curl -fsSL https://gitee.com/tech-shrimp/docker_installer/releases/download/latest/linux.sh| bash -s docker --mirror Aliyun

 可以用一下命令查看docker版本:

docker --version

 

可以自己安装很多东西,例如安装tree命令:

sudo apt-get install tree

三、docker命令

Docker 是一个开源的应用容器引擎,让开发者能够打包应用及其所有依赖项到一个可移植的容器中,然后发布到任何支持 Docker 的环境中运行。

Docker 利用容器化技术,将应用程序及其依赖项打包到一个独立的容器中。每个容器是一个独立、安全的运行环境,可以在同一主机上共享操作系统内核,但相互之间互相隔离。

Docker 容器可以在任何支持 Docker 的平台上运行,包括开发环境、测试环境、生产环境,甚至是云服务提供商的环境中。

Docker 容器通过镜像来进行打包和发布。镜像可以基于基础镜像进行扩展和定制,支持版本控制,方便复用和分享。

Docker 提供了 Docker Compose、Docker Swarm、Kubernetes 等容器编排工具,帮助管理和编排多个容器,实现高可用、负载均衡等功能。

 将当前用户添加到docker用户组

为了避免每次使用docker命令都需要加上sudo权限,可以将当前用户加入安装中自动创建的docker用户组

sudo usermod -aG docker $USER

 执行完此操作后,需要退出服务器,再重新登录回来,才可以省去sudo权限。

镜像(images)

docker pull ubuntu:20.04:拉取一个镜像

 如果拉取镜像超时,可以参考这篇博客,里面有解决办法!!!

docker pull超时解决办法

docker images:列出本地所有镜像

docker image rm ubuntu:20.04 或 docker rmi ubuntu:20.04:删除镜像ubuntu:20.04

docker [container] commit CONTAINER IMAGE_NAME:TAG:创建某个container的镜像
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从本地文件ubuntu_20_04.tar中加载出来

将服务器上的镜像压缩包传到本地

scp server1:ubuntu_20_04.tar .

删除 <none> 标签的镜像: 找到所有标签为 <none> 的镜像,并逐个删除。可以使用以下命令:

docker rmi $(docker images -f "dangling=true" -q)

将删除所有标签为 <none> 的镜像。 

 将镜像上传到自己租的云端服务器:

scp ubuntu_20_04.tar myserver:

加载本地的压缩包镜像

docker load -i ubuntu_20_04.tar

 

 容器(container)

docker [container] create -it ubuntu:20.04:利用镜像ubuntu:20.04创建一个容器。

 

docker ps -a:查看本地的所有容器

 

docker [container] start CONTAINER:启动容器

 

docker [container] stop CONTAINER:停止容器
docker [container] restart CONTAINER:重启容器
docker [contaienr] run -itd ubuntu:20.04:创建并启动一个容器
docker [container] attach CONTAINER:进入容器
  • 先按Ctrl-p,再按Ctrl-q可以挂起容器 

docker [container] exec CONTAINER COMMAND:在容器中执行命令

docker [container] rm CONTAINER:删除容器
docker container prune:删除所有已停止的容器
docker export -o xxx.tar CONTAINER:将容器CONTAINER导出到本地文件xxx.tar中

 

docker import xxx.tar image_name:tag:将本地文件xxx.tar导入成镜像,并将镜像命名为image_name:tag
docker export/import与docker save/load的区别:
  •  export/import会丢弃历史记录和元数据信息,仅保存容器当时的快照状态
  • save/load会保存完整记录,体积更大

docker top CONTAINER:查看某个容器内的所有进程

docker stats:查看所有容器的统计信息,包括CPU、内存、存储、网络等信息

docker cp xxx CONTAINER:xxx 或 docker cp CONTAINER:xxx xxx:在本地和容器间复制文件

 

docker rename CONTAINER1 CONTAINER2:重命名容器
docker update CONTAINER --memory 500MB:修改容器限制

 四、实战

scp /var/lib/acwing/docker/images/docker_lesson_1_0.tar server_name:  # 将镜像上传到自己租的云端服务器
ssh server_name  # 登录自己的云端服务器docker load -i docker_lesson_1_0.tar  # 将镜像加载到本地
docker run -p 20000:22 --name my_docker_server -itd docker_lesson:1.0  # 创建并运行docker_lesson:1.0镜像docker attach my_docker_server  # 进入创建的docker容器
passwd  # 设置root密码

 

 

去云平台控制台中修改安全组配置,放行端口20000。

返回AC Terminal,即可通过ssh登录自己的docker容器:

ssh root@xxx.xxx.xxx.xxx -p 20000  # 将xxx.xxx.xxx.xxx替换成自己租的服务器的IP地址

总结

主要介绍了租云服务器和docker配置、基本命令!!!

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 一文速通GIT版本管理与分支控制
  • 数模打怪(八)之图论模型
  • Linux第六节课yum与vim
  • vue3中Cesium离线地图
  • 【未来餐饮】 配送设置
  • day06
  • Android SurfaceFlinger——GraphicBuffer的生成(三十二)
  • Leetcode—74. 搜索二维矩阵【中等】
  • 温故而知新-C++程序员的不平凡挑战
  • 4.1.1、操作系统的概述
  • 天气预报的爬虫内容打印并存储用户操作
  • c程序杂谈系列(加减乘除模篇)
  • 【前端element-ui】对于封装el-select和checkbox-group的多选控件导致数据双向绑定失败问题的处理
  • Python基础知识笔记——常用函数
  • 机械拆装-基于Unity-本地数据持久化
  • 深入了解以太坊
  • 时间复杂度分析经典问题——最大子序列和
  • [原]深入对比数据科学工具箱:Python和R 非结构化数据的结构化
  • 【399天】跃迁之路——程序员高效学习方法论探索系列(实验阶段156-2018.03.11)...
  • 2017-09-12 前端日报
  • Bytom交易说明(账户管理模式)
  • Elasticsearch 参考指南(升级前重新索引)
  • JavaScript设计模式系列一:工厂模式
  • Lucene解析 - 基本概念
  • React-生命周期杂记
  • SOFAMosn配置模型
  • Synchronized 关键字使用、底层原理、JDK1.6 之后的底层优化以及 和ReenTrantLock 的对比...
  • v-if和v-for连用出现的问题
  • 不用申请服务号就可以开发微信支付/支付宝/QQ钱包支付!附:直接可用的代码+demo...
  • 关于List、List?、ListObject的区别
  • 坑!为什么View.startAnimation不起作用?
  • 爬虫模拟登陆 SegmentFault
  • 前端性能优化--懒加载和预加载
  • 通过来模仿稀土掘金个人页面的布局来学习使用CoordinatorLayout
  • 小程序上传图片到七牛云(支持多张上传,预览,删除)
  • gunicorn工作原理
  • 长三角G60科创走廊智能驾驶产业联盟揭牌成立,近80家企业助力智能驾驶行业发展 ...
  • ​力扣解法汇总946-验证栈序列
  • # 数仓建模:如何构建主题宽表模型?
  • #stm32整理(一)flash读写
  • #window11设置系统变量#
  • #传输# #传输数据判断#
  • $.ajax中的eval及dataType
  • (13)DroneCAN 适配器节点(一)
  • (python)数据结构---字典
  • (windows2012共享文件夹和防火墙设置
  • (zz)子曾经曰过:先有司,赦小过,举贤才
  • (附源码)ssm学生管理系统 毕业设计 141543
  • (剑指Offer)面试题34:丑数
  • (蓝桥杯每日一题)love
  • (三)Hyperledger Fabric 1.1安装部署-chaincode测试
  • (贪心 + 双指针) LeetCode 455. 分发饼干
  • (原創) 是否该学PetShop将Model和BLL分开? (.NET) (N-Tier) (PetShop) (OO)
  • (转)大型网站的系统架构
  • (转)平衡树