1. 購買雲服務器
首先去任意雲服務器平台購買一個雲服務器,作者購買的是阿里雲的ESC n4服務器,在做完學生認證后,新年活動期間180塊大洋買三年
,如果沒趕上新年活動也不用擔心,以后優惠活動非常多,但大多針對第一次購買服務器的學生身份,所以第一次買一定要把羊毛薅光。注意系統要選Ubuntu 20.04 64位
,其他隨意。
PS:作者又低價續費(87.12/year)了3年,在降低配置按流量收費后,又退了58.38,所以相當於租了6年花了382.98,一年60多塊,這也太香了qwq
在購買完服務器后,首先在阿里雲網站界面的雲服務器 ECS
中選擇實例
,你就可以看見自己的服務器了,再在自己的服務器上點擊更多
,重置實例密碼
,改一個自己能記住的密碼,這就是你以后ssh服務器的密碼了
隨后可以選擇降低配置,把按固定寬帶模式改為按流量計費模式,當然你不改也可以~
改為按流量計費模式的好處有:
- 改成按流量計費模式屬於降低配置,會退一筆錢(作者退了58.38)
- 平時不會限制你的帶寬,可以拉到100Mb,即12.5MB
當然壞處就是流量收費了,0.8¥/1G,不過作者建議還是改了好因為平時哪有那么多人訪問你的網站
同樣的,進入雲服務器 ECS
中的實例
,在自己的雲服務器后面點擊升降配
,選擇降低配置
中的降低帶寬配置
,進入后在公網帶寬
中選擇按使用流量
,並拉滿100Mb的配置。如果你的升降配的界面沒有降低配置的選項,不用擔心,直接找阿里雲的人工客服,提供你的公網IP和截圖后,5min就能解決,重新刷新界面,就會看到包含降低配置
的界面
2. 配置雲服務器
之后進入AC Terminal,ssh到自己的服務器,阿里雲的默認用戶名是root
ssh root@xxx.xxx.xxx.xxx # xxx.xxx.xxx.xxx替換成新服務器的公網IP
輸入你設置好的密碼后,你就進入了自己的服務器,這時你登錄的是服務器的root賬號,在服務器內擁有至高無上的權力,所以有誤操作就很容易搞壞服務器,於是我們自己創建一個用戶,並賦予他sudo
權限,這樣就不會發生誤操作了,並且要使用root用戶的權力時,命令前加上sudo
即可
adduser riz9 # 創建用戶riz9 PS: 這個用戶名隨便起,怎么舒服怎么來
usermod -aG sudo riz9 # 給用戶riz9分配sudo權限
然后退出服務器,我們設置服務器別名和免密登錄
進入 AC terminal 的 ~/.ssh/config 文件中,在后面寫上以下內容,User就是你剛才在雲服務器中加入的用戶名,改完后保存並退出
Host 別名
HostName 公網IP
User riz9
之后再一鍵設置免密登錄
ssh-copy-id 服務器別名
ssh進入你的雲服務器,為它安裝tmux
sudo apt-get update
sudo apt-get install tmux
並把 AC Terminal 的配置傳給雲服務器
scp .bashrc .vimrc .tmux.conf server_name: # server_name需要換成自己配置的別名
3. 安裝docker
隨后打開tmux,開始安裝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
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
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io
然后等待docker的安裝完畢,安裝完后可以輸入docker --version
查看docker的版本,如果順利查詢到版本,證明docker已經成功安裝完畢
4. 使用docker
docker分為images
和container
,他們的關系相當於月餅的模子和月餅的關系,images
即月餅的模子,container
即模子扣出來的月餅。images
即鏡像,可以通過docker pull ubuntu:20.04
從官網拉取一個鏡像或者docker load -i ubuntu_20_04.tar
從本地加載一個鏡像(以ubuntu:20.04舉例)。container
即容器,可以通過docker create -it ubuntu:20.04
來創建ubuntu:20.04
鏡像的一個容器。具體常用命令在y總的總結中
以下為y總提供的鏡像文件安裝的步驟:
如果要創建容器必須要有鏡像,鏡像文件在 ~/var/lib/acwing/docker/images/
目錄下,先把鏡像上傳到自己的服務器
scp /var/lib/acwing/docker/images/docker_lesson_1_0.tar 雲服務器名:
隨后登錄自己的雲服務器,把鏡像加載到本地,創建並運行該鏡像,加載完畢后進入該鏡像中名為my_docker_server
的容器中,設置root密碼並創建普通權限用戶,再賦予他root權限
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密碼
adduser acs # 創建普通權限用戶
usermod -aG sudo acs # 給普通權限用戶增加root權限
掛起my_docker_server
容器,返回AC Terminal中,通過公網IP和端口號嘗試直接連接到my_docker_server
容器中
ssh root@xxx.xxx.xxx.xxx -p 20000 # 將xxx.xxx.xxx.xxx替換成自己租的服務器的IP地址
如果失敗,則說明你的阿里雲服務器未開放20000端口。進入阿里雲網站中的雲服務器 Ecs,並在其中找到你的雲服務器實例,點擊更多
,在網絡和安全組中
點擊安全組配置
,再點擊配置規則
,手動添加20000這個端口
之后應該成功進入到my_docker_server
容器中,注意@
前面是什么用戶名,就用哪個用戶登錄該容器
隨后我們可以配置一下別名和免密登錄,先返回到AC Terminal中vim ~/.ssh/config
,在后面追加以下內容后,就設置完了服務器的別名
Host server1_docker
HostName xxx.xxx.xxx.xxx
User acs
Port 20000
追加的內容從上往下分別是my_docker_server容器的別名
,容器所在雲服務器的公網IP
,別名登錄時登錄的用戶名
,登錄的端口
保存退出之后再執行ssh-copy-id server1_docker
,便可設置免密登錄