赞
踩
腾讯云地址: https://cloud.tencent.com/
从租到的毛坯服务器装 tmux 和 docker:
我用的是腾讯云的服务器,腾讯云和其他平台不同,给的是具有 sudo
权限的用户 ubuntu
而非 root
用户。为了防止误操作,创建一个新的用户 acs
并给予 sudo
权限。
ssh ubuntu@服务器公网IP地址 # 填租到的服务器提供的公网IP地址
sudo adduser USER_NAME # 填新添加用户的用户名
sudo usermod -aG sudo USER_NAME
配置免密登录方式,在 Lesson 4. ssh 中有详细步骤。
安装 tmux
并且把祖传配置上传到服务器。
sudo apt-get update
sudo apt-get install tmux
scp .bashrc .vimrc .tmux.conf server_name: # y总开发的AcTerminal中的祖传配置
之后在 tmux
中按照 docker安装教程 安装 docker
。
docker --version # 安装完成后会显示安装的 docker 版本
另外也可以在这个毛坯服务器上玩玩,随便下点东西熟悉熟悉。
sudo apt-get install tree # 比如安装 tree 命令
docker 的作用:
保证在不同的运行环境下,能有完全相同的软件版本环境,帮你跳过配环境的过程。
docker 的相关概念:
名称:tag(版本号)
,例如 ubuntu:20.04
。docker 的相关操作:
将当前用户添加到 docker
用户组,避免在每个 docker
命令前都要加上 sudo
权限。
sudo usermod -aG docker $USER # 执行完命令后需要重新 ssh 到服务器
镜像 images
的相关操作:
# image 基本操作 docker pull ubuntu:20.04 # 拉取镜像 docker images # 列出本地所有镜像 docker rmi ubuntu:20.04 # 删除镜像 # 迁移 image 到其他服务器 docker save -o ubuntu_20_04.tar ubuntu:20.04 # 将镜像 ubuntu:20.04 导出到本地文件 ubuntu_20_04.tar chmod +r ubuntu_20_04.tar # 设置可读权限 scp server1:ubuntu_20_04.tar . # logout 退回到 AcTerminal,把 .tar 压缩文件复制到本地 scp ubuntu_20_04.tar server2: # 再从 AcTerminal 上传到目标服务器 docker load -i ubuntu_20_04.tar # 根据文件生成镜像(把镜像加载到docker) # container 生成 image docker [container] commit CONTAINER IMAGE_NAME:TAG # 创建某个 container 的镜像,[]表示可选内容
容器 container
的相关操作:
docker ps -a # 查看本地的所有容器 docker [container] create -it ubuntu:20.04 # image 生成 container docker [contaienr] run -itd ubuntu:20.04 # image 生成 container 并且启动容器 docker [container] rm CONTAINER # 删除容器 docker rename CONTAINER1 CONTAINER2 # 重命名容器 docker [container] start CONTAINER # 启动容器 docker [container] stop CONTAINER # 停止容器 docker [container] restart CONTAINER # 重启容器 docker [container] attach CONTAINER # 进入容器; ctrl+d --> 停止容器; # ctrl+p --> ctrl+q 挂起容器; docker export -o xxx.rar CONTAINER # 将容器 CONTAINER 导出到本地文件 xxx.tar 中 docker import xxx.tar IMAGE_NAME:TAG # 将本地文件xxx.tar导入成镜像,并将镜像命名为IMAGE_NAME:TAG docker cp xxx CONTAINER:xxx # 在本地和容器间复制文件 docker cp CONTAINER:xxx xxx docker stats # 查看所有容器的统计信息 docker update CONTAINER --memory 500MB # 修改容器限制
迁移时
docker export / import
与docker save / load
的区别:
export / import
丢弃多余信息,仅保留必要的状态,save / load
会保存完整记录。
实战: 把 acwing 中的 image
上传到租的服务器中生成容器并更改成熟悉的配置。(在服务器上搭建自己的虚拟机)
上传 image
到自己租的云端服务器:
scp /var/lib/acwing/docker/images/docker_lesson_1_0.tar SERVER_NAME:
image
加载到 docker
:
docker load -i docker_lesson_1_0.tar
创建并运行 docker_lesson:1.0
镜像的容器:
docker run -p 20000:22 --name my_docker_server -itd docker_lesson:1.0
进入自己创建的 container
的根用户下并且设置密码:
docker attach my_docker_server
passwd
在租服务器的云平台放行 20000
端口。
在 container 中安装 ssh
和 sudo
:
apt-get update
apt-get sudo
apt-get update
apt-get install ssh
apt-get update
sudo /etc/init.d/ssh start
和之前一样,创建工作账户 acs
,分配 sudo
权限,再配置免密登录(可以直接 ssh
到搭建的虚拟机),最后安装 tmux
上传祖传配置,大功告成 !
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。