配置服务器
1.登录自己的云服务器
首先用终端或电脑上的git bash,用ssh登录到租的云服务器
ssh 用户名@公网IP
我用的阿里云,用户名默认为root
按照提示输入密码后,就登录到了自己的云服务器上
1.1创建新用户
如果直接用root账户操作,会有误操作的风险。所以一般新建一个用户,并给其root权限。避免翻车
创建一个新用户:
adduser 用户名
#创建时下面的信息都可以不填
给该用户分配root权限:
usermod -aG sudo 用户名
由root用户切换到指定用户:
su 用户名
由普通用户切换回root用户:
su
cd ~ #回到当前用户的家目录
注:root用户的目录在:/root下,普通用户的目录在:/home/用户名下
当然,你也可以配置免密登录简化登录过程。
1.2配置免密登录
一直按ctrl+d回到AC Terminal或电脑上的git bash,然后:
cd ~/.ssh
在.ssh目录下,新建一个config文件,文件内容为:
Host 自己起的主机名
HostName 公网ip
User 用户名
Port 端口号
然后使用如下命令一键添加公钥:
ssh-copy-id myserver
2. 配置docker环境
【少璞师兄的方法,可以不需要连外网】
export http_proxy="http://192.168.120.154:7890"
export https_proxy=$http_proxy
export all_proxy="socks5://192.168.120.154:7890"
curl -sSL https://get.daocloud.io/docker | sh
【有外网的时候可以在官网安装】
2.1.安装docker
先执行:
shell sudo apt-get update
进入docker官网,https://docs.docker.com/engine/install/ubuntu/
安装docker
shell sudo apt-get update
shell sudo apt-get install \ ca-certificates \ curl \ gnupg \ lsb-release
shell curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
shell echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
shell sudo apt-get update
shell sudo apt-get install docker-ce docker-ce-cli containerd.io
至此安装完成,执行:
shell docker --version
如果正确输出版本号,大功告成!!!!
由于docker的很多命令需要sudo权限,为了方便可以将当前用户加入安装中自动创建的docker用户组:
sudo usermod -aG docker $USER
2.2.建立docker镜像
找到镜像的位置,比如:/var/lib/acwing/docker/images/下
在终端中,将django镜像上传至自己的服务器:
shell scp /var/lib/acwing/docker/images/镜像包名 自己起的主机别名:想保存的自己服务器上的文件路径
例如,我在别名为 ali 的服务器上创建了一个文件夹docker_images,路径为~/docker_images。要将终端中/var/lib/acwing/docker/images/下的django_lesson_1_0.tar镜像保存在服务器中的docker_images下,有:
shell scp /var/lib/acwing/docker/images/django_lesson_1_0.tar ali:docker_images:
将docker_images下载到本地:
shell scp -r 自己起的主机别名:要下载文件夹的路径 要下载至的路径
将镜像包导入到自己服务器的docker环境中:
shell docker load -i 镜像包路径
比如:
shell docker load -i docker_images/django_lesson_1_0.tar
待其加载好后,可以用docker images查看已经加载好的镜像
在云服务器官网上->控制台->自己服务器->安全组->配置规则中,打开20000和8000端口(除端口范围和备注,其他选项和已有端口保持一致)
用镜像创建并启动一个容器
shell docker run -p 20000:22 -p 8000:8000 --name django_server -itd django_lesson:1.0
shell
#启动容器
docker start django_server
#进入容器
docker attach django_server
重复1.1创建新用户和1.2配置免密登录的过程,使终端或电脑上的git bash能直接登录到容器上
必须attach后,先按Ctrl-p,再按Ctrl-q挂起容器,ssh才能登录成功