docker的安裝在網上一搜一大把,windows安裝的就是exe雙擊,linux安裝需要執行陳述句
ps:需要準備xftp、xshell、vs 2019、linux服務器、docker賬號密碼
例如:
服務器剛買好時,最好執行一次yum update
打開xshell,連接上linux服務器
安裝、運行、配置docker 1、安裝docker yum install -y docker 2、查看docker是否安裝成功 yum list installed |grep docker 3、啟動docker服務(并設定開機自啟) systemctl start docker.service systemctl enable docker.service 4、查看docker服務狀態 systemctl status docker
如果拉鏡像慢可以開掛(daemon.json),百度一波一大把 https://blog.csdn.net/ZZ2713634772/article/details/103980464
vim/vi/nano /etc/docker/daemon.json //如果沒有這個檔案就去新建一個
修改之后進行保存 //保證"registry-mirrors":[""] 的格式正確,沒有多余標點符號<內部符號全用英文符號>
然后執行:
systemctl daemon-reload //多載配置
systemctl restart docker //重啟docker
收集到的加速器地址:
https://docker.mirrors.ustc.edu.cn //中科大
https://reg-mirror.qiniu.com //七牛
https://dockerhub.azk8s.cn
http://hub-mirror.c.163.com //網易
https://registry.docker-cn.com //國內
https://aa25jngun.mirror.aliyuncs.com //阿里云
接下來可以自己試試打包一下網站,這里用.netcore 3.1舉例
網站可以自己去新建,我這里以wtm生成的模板為例
進入https://wtmdoc.walkingtec.cn/setup,專案名填寫:MyWtm

點擊下一步,版本選擇.net core 3.1

點擊開始配置,然后會生成一個壓縮檔案,在本地解壓縮,雙擊.sln(下載時間不一樣,可能目錄也不一樣,這個沒問題的,只是一個演示)
右鍵點擊MyWtm,添加=>docker支持=>linux(此時根據自己的docker運行系統選擇不同版本,我這里選擇linux)
然后會生成一個Dockerfile檔案

打開Dockerfile檔案,然后將中間的全部刪掉,倒數第二句做一個修改
#See https://aka.ms/containerfastmode to understand how Visual Studio uses this Dockerfile to build your images for faster debugging. FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim AS base WORKDIR /app EXPOSE 80 COPY / /app
ENTRYPOINT ["dotnet", "MyWtm.dll"]
將Dockerfile檔案屬性改一下,改為始終復制

好了, 我們的網站已經做好了準備,下一步,點擊發布=>檔案夾=>創建組態檔,什么都不需要改

然后點擊發布按鈕

點擊復制下這個檔案夾(如果復制出來沒有帶盤符,自己去加上)

打開xftp(自行下載),連接到自己的linux服務器,創建一個mywtm檔案夾,將剛才的“D:\xxx\MyWtm\MyWtm\bin\Release\netcoreapp3.1\publish\”字串粘貼進本地地址欄

然后左邊檔案夾publish全選上傳,此時我們的檔案作業全部做好了
現在打開xshell,連接上linux服務器
登陸自己的docker賬號
docker login
按照提示輸入dockerid和密碼,出現successly就可以了
然后進入到自己的mywtm專案檔案夾下(之前修改的Dockerfile檔案倒數第二句,COPY / /app 第一個斜杠就是本目錄,你也可以在上級目錄(如publish)執行鏡像創建,但是第一個斜杠前要加目錄名稱,例如COPY publish/ /app),比如我的是
cd /root/docker/mywtm #如果自己不在根目錄下,可以先執行cd /
現在開始,創建docker鏡像,出現Successfully就可以了
docker build -t [dockerid]/mywtm .

然后啟動容器
docker run -d -p 8081:80 --name mywtm [dockerid]/mywtm

此時我們可以使用curl來查看自己的網站是否運行成功:
curl http://localhost:8081 #出現html代碼說明我們的網站已經發布到docker生成鏡像,并且于linux映射成功,如果沒有出現html也沒有關系,在外網查看下就可以了
此時,在外網一般是可以訪問到的,ip+埠即可,如果不能訪問到,去云服務器控制臺安全組中開放埠即可(一般阿里云需要手動去開放)
經測驗發現,騰訊云服務器docker映射后不需要配置安全組,阿里云服務器需要自己去手動配置

推送到自己的docker倉庫
docker push [dockerid]/mywtm

docker的其他操作:
停止容器:
docker stop [容器id]
洗掉容器
docker rm [容器id] #或者docker container rm [容器名]
洗掉鏡像
docker rmi [鏡像名稱]
查看運行的docker容器
docker ps
查看所有docker容器
docker ps -a
查看docker的日志
docker logs --tail="100" mywtm //查看最近100行日志 docker logs命令 docker logs [options] 容器獲取容器的日志, 名字 默認值 描述 –details 顯示提供給日志的額外細節 –follow或-f 按日志輸出 –since 從某個時間開始顯示,例如2013-01-02T13:23:37 –tail all 從日志末尾多少行開始顯示 –timestamps或-t 顯示時間戳 –until 列印某個時間以前的日志,例如 2013-01-02T13:23:37
進入docker內部
sudo docker exec -it containerID /bin/bash //最后的路徑是可以更改的
docker常見報錯資訊:
參見https://www.jianshu.com/p/605a7c0e1d0f
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/124010.html
標籤:Linux
