1. 程式人生 > >在docker上執行.net core程式

在docker上執行.net core程式

一、安裝docker及映象

1、在centos上安裝docker,命令如下:

# yum install docker

2、讓docker隨機啟動:

# service docker start
# chkconfig docker on

3、下載官方的centos映象:

# docker pull centos

4、確認映象已經獲取:

# docker images centos

5、查詢是否已有docker執行:

# docker ps

6、發現列表為空,執行docker:

#  docker run -i -t centos /usr/sbin/init

勘正了一個錯誤,原來docker run -i -t centos /bin/bash   

這樣執行centos會有一些問題

如上圖紅框所示,已進入docker環境。

7、重開一個命令視窗,再次查詢:

# docker ps

 8、可進入已有的docker環境:

docker exec -ti fervent_aryabhata /bin/bash

 9、當執行exitmingling退出後,再次執行docker ps發現列表為空,這個時候需要帶一個引數-a:

 10、執行其中的一個,提示錯誤:

11、重啟並執行即可:

二、安裝.net core,按照https://www.microsoft.com/net/core#linuxcentos步驟走即可,不再贅述。

三、安裝supervisor

1、安裝epel源

yum install epel-release

2、安裝pip

yum install python-pip

3、安裝supervisor

pip install  supervisor

4、配置開機自啟動

cat > /usr/lib/systemd/system/supervisord.service << EOF
[Unit]
Description=Process Monitoring and Control Daemon
After=rc-local.service

[Service]
Type=forking
ExecStart=/usr/bin/supervisord -c /etc/supervisor/supervisord.conf
SysVStartPriority=99

[Install]
WantedBy=multi-user.target

5、建立supervisor的配置資料夾

mkdir -p /var/supervisor
mkdir -p /etc/supervisor/conf.d

6、supervisor配置

echo_supervisord_conf > /etc/supervisor/supervisord.conf

sed -i 's/^;port=.*$/port=\*:9001/g' /etc/supervisor/supervisord.conf
sed -i 's/^;\[inet_http_server\]/\[inet_http_server\]/g' /etc/supervisor/supervisord.conf
sed -i "/port=\*:9001/a\password=admin" /etc/supervisor/supervisord.conf
sed -i "/port=\*:9001/a\username=admin" /etc/supervisor/supervisord.conf
sed -i "/\[supervisorctl\]/a\password=admin" /etc/supervisor/supervisord.conf
sed -i "/\[supervisorctl\]/a\username=admin" /etc/supervisor/supervisord.conf
sed -i "/\[supervisorctl\]/a\serverurl=http://127.0.0.1:9001" /etc/supervisor/supervisord.conf
sed -i 's/^pidfile=.*$/pidfile=\/var\/supervisor\/supervisord.pid/g' /etc/supervisor/supervisord.conf
sed -i 's/^file=.*$/file=\/var\/supervisor\/supervisor.sock/g' /etc/supervisor/supervisord.conf

6、講資料夾下所有的ini配置檔案載入進來

cat >> /etc/supervisor/supervisord.conf <<EOF
[include]
files = /etc/supervisor/conf.d/*.ini
EOF

7、建立一個shell指令碼,啟動網站,內容如下:

#!/bin/bash
cd /apps/smsweb && dotnet Qka.SmsAndIPAddressQuery.dll &

8、增加改檔案的可執行許可權:

chmod 777 startweb.sh

9、配置該shell指令碼到supervisor中:

cat > /etc/supervisor/conf.d/smsweb.ini <<EOF
[program:smsweb]
command = /apps/smsweb/startweb.sh run
autorestart=true
redirect_stderr = true
stdout_logfile = /apps/smsweb/logs.log
logfile_maxbytes = 10MB
user = root
EOF

10、重啟supervisor服務:

service supervisord restart

相關推薦

docker執行.net core程式

一、安裝docker及映象 1、在centos上安裝docker,命令如下: # yum install docker 2、讓docker隨機啟動: # service docker start# chkconfig docker on 3、下載官方的centos映象: # docker pull cento

以Windows服務方式執行.NET Core程式

在之前一篇部落格《以Windows服務方式執行ASP.NET Core程式》中我講述瞭如何把ASP.NET Core程式作為Windows服務執行的方法,而今,我們又遇到了新的問題,那就是:我們的控制檯程式,也就是普通的.NET Core程式(而不是ASP.NET Core程式)如何以服務的方式執行

Docker打包 Asp.Net Core應用,在CentOS執行

本文主要介紹下運用docker虛擬技術打包Asp.net core應用。 Docker作為一個開源的應用容器引擎,近幾年得到廣泛的應用,使用Docker我們可以輕鬆實現應用的持續整合部署,一次打包,到處執行。 開篇借用百科上對docker的介紹。     Docker 是一個開源的應用容器引擎,讓開發者可以

樹莓派3B部署執行.net core 2程式

針對Linxu arm處理器如何部署.net core 2的資料很少,網上找到幾篇但都寫得不夠詳

.NET Core 3.0 部署在docker執行

自從.NET Core3.0釋出之後,寫了幾篇關於.NET Core 3.0的文章,有助於你快速入門.NET Core3.0。 本篇文章主要講解如何一步步建立一個mvc專案,然後釋出並部署在Docker上執行。需要你本地有docker環境 .Net Core3.0 配

Docker打包 Asp.Net Core應用,在CentOS運行(轉)

ner 表示 exec 但是 服務端 名稱 pro 目前 app 轉載連接:https://www.cnblogs.com/ibeisha/archive/2017/09/09/netcoreondocker.html 本文主要介紹下運用docker虛擬技術打包Asp.n

Asp.Net Core 程式部署到Linux(centos)生產環境(二):docker部署

執行環境 照例,先亮環境;軟體的話我這裡假設你已經批准好了.net core 執行環境,未配置可以看我的這篇[linux(centos)搭建.net core 執行環境] 騰訊雲 centos:7.2 cpu:1核 2G記憶體 1M頻寬 docker:18.06.1-ce 安裝dock

新手指南:通過 Docker 在 Linux 託管 .NET Core

本文導航 -安裝02% -原始碼03% -轉換到 .NET CORE 1.004% -通過 Docker 執行15%

使用Docker Compose為ASP.NET Core程式新增MySQL資料庫

本文翻譯自: Adding MySQL to ASP.NET Core App With Docker Compose           之前的例子中我們將程式進行容器化,本文我們會把MySQL資料庫作為另一個Container,用於程式的訪問。因為現

以Windows服務方式執行ASP.NET Core程式

我們對ASP.NET Core的使用已經進行了相當一段時間了,大多數時候,我們的Web程式都是釋出到Linux主機上的,當然了,偶爾也有需求要釋出到Windows主機上,這樣問題就來了,難道直接以控制檯形式執行這個Web程式嗎? 直接以控制檯形式執行程式當然是可以的,但有以下問題: 需要敲命令列(這個

給你的 ASP.NET Core 程式 Feature Flag 的翅膀

前言 我們知道,目前大多數應用程式在正式釋出到生產環境之前都會經歷多個不同的測試環境,通過讓應用程式在多個不同的環境中執行來及時發現並解決問題,避免在線上發生不必要的損失。這是對於整個軟體的釋出流程來講。但是如果想讓我們的應用程式在線上環境中通過滿足一些動態條件(比如電商平臺在某一時間段的促銷活動)從而能

在 ASP.NET Core 程式啟動前執行你的程式碼

一、前言 在進行 Web 專案開發的過程中,可能會存在一些需要經常訪問的靜態資料,針對這種在程式執行過程中可能幾乎不會發生變化的資料,我們可以嘗試在程式執行前寫入到快取中,這樣在系統後續使用時就可以直接從快取中進行獲取,從而減緩因為頻繁讀取這些靜態資料造成的應用資料庫伺服器的巨大承載壓力。 既然需要在程式執行

不用虛機不用Docker使用Azure應用服務部署ASP.NET Core程式

一般我們寫好了應用程式想要部署釋出它,要麼釋出到物理機,要麼釋出到虛擬機器,要麼釋出到容器來執行它。現在有了Azure應用服務,我們可以完全不用管這些東西,只管寫好自己的程式碼,然後使用VisualStudio的釋出功能就可以一鍵部署了。如果你覺得效能不夠用了還可以自動擴容,彈性伸縮。 ## 應用服務概述 A

【ASP.NET Core快速入門】(四)在CentOS安裝.NET Core運行時、部署到CentOS

ati libunwind serve code api cal 之前 prompt conn 下載.NET Core SDK 下載地址:https://www.microsoft.com/net/download/windows 第一步:Add the dotne

使用Docker部署ASP.NET Core應用程序實踐

4.0 cor run .com cnblogs pda word 本地配置 問題 前言 最近把很火的Docker給看了,於是就磨拳擦掌要去實踐一下。於是就拿之前一個aps.net core的項目(已被停止)去練手。該項目之前在ubuntu14.04上確保可以正常運行,所以

第二章 在Linux部署.net core

程序 接口 linux per root 分享圖片 第一步 conf 源地址 項目目標部署環境:CentOS 7+ 項目技術點:.netcore2.0 + Autofac +webAPI + NHibernate5.1 + mysql5.6 + nginx 開源地址:ht

在Ubuntu16.04配置.Net Core 2 環境

依賴項 C# tps new ons ice 分享圖片 ubun ges 一、安裝.Net Core SDK 按照官方文檔,執行以下命令安裝SDK curl https://packages.microsoft.com/keys/microsoft.asc | gpg --

Linux 釋出.Net Core

    環境準備   下面我們使用VM虛擬機器.我這裡安裝的Linux系統是centos7    軟體提供:    VM: https://www.vmware.com/cn.html    centos7 Minimal :https://www.centos.or

使用Dapper.Contrib 開發.net core程式,相容多種資料庫

原文: 使用Dapper.Contrib 開發.net core程式,相容多種資料庫 關於Dapper的介紹,我想很多人都對它有一定的瞭解,這個類似一個輕型的ORM框架是目前應用非常火的一個東西,據說各方面的效能都不錯,而且可以支援多種資料庫,在開始介紹這個文章之前,我花了不少功夫來學習了Dapper 的相

Docker & ASP.NET Core (2):定製Docker映象

Dockerfile 在Docker的世界裡,我們可以通過一個叫Dockerfile的檔案來建立Docker映象,隨後可以執行容器。 Dockerfile就是一個文字檔案,裡面寫著一些指令。通過Docker Client,並使用docker build這個命令,docker build命令會讀取該檔案裡面