【Linux第八课】租云服务器及配docker环境

简介: 【Linux第八课】租云服务器及配docker环境

8. 租云服务器及配docker环境

8.1 概述

云平台的作用:


存放我们的docker容器,让计算跑在云端。

获得公网IP地址,让每个人可以访问到我们的服务。

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


1核 2GB(后期可以动态扩容,前期配置低一些没关系)

网络带宽采用按量付费,最大带宽拉满即可(费用取决于用量,与最大带宽无关)

系统版本:ubuntu 20.04 LTS(推荐用统一版本,避免后期出现配置不兼容的问题)

8.2 阿里云

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


创建工作用户acs并赋予sudo权限


登录到新服务器。打开AC Terminal,然后:


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

创建acs用户:


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

配置免密登录方式


退回AC Terminal,然后配置acs用户的别名和免密登录,可以参考4. ssh——ssh登录。


配置新服务器的工作环境


将AC Terminal的配置传到新服务器上:


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

安装tmux和docker


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

sudo apt-get update
sudo apt-get install tmux

打开tmux。(养成好习惯,所有工作都在tmux里进行,防止意外关闭终端后,工作进度丢失)


然后在tmux中根据docker安装教程安装docker即可。


8.3 docker教程

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


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


sudo usermod -aG docker $USER

镜像(images)


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

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中加载出来

容器(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:修改容器限制

实战

进入AC Terminal,然后:


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地址

然后,可以仿照上节课内容,创建工作账户acs。


最后,可以参考4. ssh——ssh登录配置docker容器的别名和免密登录。


小Tips


如果apt-get下载软件速度较慢,可以参考清华大学开源软件镜像站中的内容,修改软件源。

相关实践学习
借助OSS搭建在线教育视频课程分享网站
本教程介绍如何基于云服务器ECS和对象存储OSS,搭建一个在线教育视频课程分享网站。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
相关文章
|
10天前
|
Web App开发 搜索推荐 Unix
Linux系统之MobaXterm远程连接centos的GNOME桌面环境
【10月更文挑战第21天】Linux系统之MobaXterm远程连接centos的GNOME桌面环境
98 4
Linux系统之MobaXterm远程连接centos的GNOME桌面环境
|
11天前
|
监控 Linux Shell
|
1天前
|
缓存 Unix Linux
服务器linux!!!
本文介绍了计算机的演变历史、硬件基础知识及服务器相关知识。从电子管时代的ENIAC到冯-诺伊曼架构,再到现代计算机系统组成,详细讲解了计算机的发展历程。此外,文章还介绍了服务器的分类、品牌、硬件组成以及IDC机房的上架流程,为读者提供了全面的技术背景知识。
13 0
服务器linux!!!
|
3天前
|
关系型数据库 MySQL Docker
docker环境下mysql镜像启动后权限更改问题的解决
在Docker环境下运行MySQL容器时,权限问题是一个常见的困扰。通过正确设置目录和文件的权限,可以确保MySQL容器顺利启动并正常运行。本文提供了多种解决方案,包括在主机上设置正确的权限、使用Dockerfile和Docker Compose进行配置、在容器启动后手动更改权限以及使用 `init`脚本自动更改权限。根据实际情况选择合适的方法,可以有效解决MySQL容器启动后的权限问题。希望本文对您在Docker环境下运行MySQL容器有所帮助。
9 1
|
3天前
|
人工智能 安全 Linux
|
6天前
|
Linux 数据库
Linux服务如何实现服务器重启后的服务延迟自启动?
【10月更文挑战第25天】Linux服务如何实现服务器重启后的服务延迟自启动?
33 3
|
8天前
|
消息中间件 Linux RocketMQ
在Red Hat Enterprise Linux 9上使用Docker快速安装并部署
通过以上步骤,你可以在Red Hat Enterprise Linux 9上使用Docker快速安装并部署RocketMQ。这种方法不仅简化了安装过程,还提供了一个灵活的环境来管理和扩展消息队列系统。RocketMQ作为一款高性能的分布式消息系统,通过Docker可以实现快速部署和高效管理。
27 2
|
9天前
|
消息中间件 Linux RocketMQ
在Red Hat Enterprise Linux 9上使用Docker快速安装并部署
通过以上步骤,你可以在Red Hat Enterprise Linux 9上使用Docker快速安装并部署RocketMQ。这种方法不仅简化了安装过程,还提供了一个灵活的环境来管理和扩展消息队列系统。RocketMQ作为一款高性能的分布式消息系统,通过Docker可以实现快速部署和高效管理。
21 3
|
6天前
|
Linux UED iOS开发
|
11天前
|
Ubuntu 应用服务中间件 Linux
Linux下搭建Nginx环境的搭建
Linux下搭建Nginx环境的搭建