一、docker 安裝及設(shè)置
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
#安裝 CentOS已經(jīng)將Docker軟件包放在了Extras軟件源中,直接利用即可 yum install docker-io -y #查看docker的版本 version docker - v #開啟Docker服務(wù) systemctl start docker.service #開機啟動Docker服務(wù) systemctl enable docker.service #查看Docker服務(wù)啟動狀態(tài) systemctl status docker.service #重啟Docker服務(wù) systemctl restart docker.service |
二、新建Net Core 程序
1、新建Net Core 項目。注意不啟動Docker 支持
2、發(fā)布新建的項目(目標運行時:可移植)
3、在發(fā)布后的文件夾中新建一個Dockerfile 文件(沒有后綴)
大概內(nèi)容如下:
1
2
3
4
5
6
|
FROM microsoft /dotnet :2.1-aspnetcore-runtime // 注意和你的版本要匹配 WORKDIR /app COPY . . // 將當前目錄下的所有文件(除了.dockerignore排除的路徑),都拷貝進入 image 文件的 /app 目錄。 EXPOSE 5000 // 端口號(將容器 5000 端口暴露出來, 允許外部連接這個端口。) //EXPOSE 443 //Https 端口開啟 ENTRYPOINT [ "dotnet" , "DockerDemo5.dll" ] // 運行的程序集 改成你自己的 |
三、上傳發(fā)布后的項目到Linux服務(wù)器(CentOS)
1、進入程序的發(fā)布目錄
1
2
3
4
5
6
7
8
9
|
#進入到程序的發(fā)布目標 cd /data/web/mydocker #創(chuàng)建 image文件 (-t參數(shù)用來指定 image 文件的名字,后面還可以用冒號指定標簽 PS:注意最后的 點) docker build -t aspnetcoredocker1.1 . #生成容器,每運行一次,就會新建一個容器(這里的5000:5000 代表把容器內(nèi)的5000端口映射到你主機的5000端口,容器端口在后) docker run -it -p 5000:5000 aspnetcoredocker1.1 #docker run -it -p 5000:5000 aspnetcoredocker1.1:TAG // 默認TAG是latest |
2、直接訪問就可以了
3、docker 容器自動啟動(在容器退出或斷電開機后,docker可以通過在容器創(chuàng)建時的 --restart參數(shù)來指定重啟策略)
1
2
3
4
5
6
7
8
9
10
11
|
# 設(shè)置啟動策略 docker run --restart always -it -p 5000:5000 aspnetcoredocker1.1 #如果容器已經(jīng)被創(chuàng)建,我們想要修改容器的重啟策略 docker update --restart always 3ec28be7254a // 容器ID # --restart 多個參數(shù)值選擇 no 不自動重啟容器. (默認值) on-failure 容器發(fā)生error而退出(容器退出狀態(tài)不為0)重啟容器,可以指定重啟的最大次數(shù),如:on-failure:10 unless-stopped 在容器已經(jīng)stop掉或Docker stoped /restarted 的時候才重啟容器,手動stop的不算always 在容器已經(jīng)stop掉或Docker stoped /restarted 的時候才重啟容器 |
4、docker 相關(guān)命令
鏡像文件和容器命令
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
#查看所有鏡像 docker images #刪除一個imageid的鏡像 docker rmi [IMAE_ID] #刪除所有鏡像 sudo docker rmi $(docker images -q) #查看所有容器運行狀態(tài) docker ps -a docker container ls -all #刪除一個containerid的容器(實例) docker rm 6f0c67de4b72 #刪除所有容器 docker rm $( sudo docker ps -a -q) |
容器日志
1
2
3
4
5
6
7
8
9
10
11
|
#查看指定時間后的日志,只顯示最后100行: docker logs -f -t --since= "2019-06-08" -- tail =100 CONTAINER_ID #查看某時間之后的日志: docker logs -t --since= "2019-06-08" CONTAINER_ID #查看某時間段日志: docker logs -t --since= "2019-06-08" -- until "2019-06-09" CONTAINER_ID #查看最近30分鐘的日志: docker logs --since 30m CONTAINER_ID |
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習有所幫助,也希望大家多多支持服務(wù)器之家。
原文鏈接:https://www.cnblogs.com/songl/p/11128012.html