雲服務器與docker詳解


1. 購買雲服務器


首先去任意雲服務器平台購買一個雲服務器,作者購買的是阿里雲的ESC n4服務器,在做完學生認證后,新年活動期間180塊大洋買三年,如果沒趕上新年活動也不用擔心,以后優惠活動非常多,但大多針對第一次購買服務器的學生身份,所以第一次買一定要把羊毛薅光。注意系統要選Ubuntu 20.04 64位,其他隨意。


PS:作者又低價續費(87.12/year)了3年,在降低配置按流量收費后,又退了58.38,所以相當於租了6年花了382.98,一年60多塊,這也太香了qwq


在購買完服務器后,首先在阿里雲網站界面的雲服務器 ECS中選擇實例,你就可以看見自己的服務器了,再在自己的服務器上點擊更多重置實例密碼,改一個自己能記住的密碼,這就是你以后ssh服務器的密碼了

1.png

隨后可以選擇降低配置,把按固定寬帶模式改為按流量計費模式,當然你不改也可以~


改為按流量計費模式的好處有:

  1. 改成按流量計費模式屬於降低配置,會退一筆錢(作者退了58.38)
  2. 平時不會限制你的帶寬,可以拉到100Mb,即12.5MB

當然壞處就是流量收費了,0.8¥/1G,不過作者建議還是改了好因為平時哪有那么多人訪問你的網站


同樣的,進入雲服務器 ECS中的實例,在自己的雲服務器后面點擊升降配,選擇降低配置中的降低帶寬配置,進入后在公網帶寬中選擇按使用流量,並拉滿100Mb的配置。如果你的升降配的界面沒有降低配置的選項,不用擔心,直接找阿里雲的人工客服,提供你的公網IP和截圖后,5min就能解決,重新刷新界面,就會看到包含降低配置的界面

2.png


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分為imagescontainer,他們的關系相當於月餅的模子和月餅的關系,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,便可設置免密登錄


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM