1.安裝docker 1.1官方文檔https://docs.docker.com/engine/installation/linux/docker-ce/centos/ [root@sn ~]# yum remove docker \ #刪除舊版本 docker-common \ docker-s ...
參考文章 https://www.cnblogs.com/sheng-jie/p/8107877.html
1.安裝docker
1.1官方文檔https://docs.docker.com/engine/installation/linux/docker-ce/centos/
[root@sn ~]#
yum remove docker \ #刪除舊版本
docker-common \
docker-selinux \
docker-engine
[root@sn ~]# yum install
-y yum-utils
\
device-mapper-persistent-data
\
lvm2
[root@sn ~]# yum-config-manager
\
--add-repo
\
https://download.docker.com/linux/centos/docker-ce.repo
[root@sn ~]# yum install docker-ce #
安裝
docker
[root@sn ~]# systemctl start docker #
啟動
docker
1.2 docker
通過運行hello-world
映像驗證安裝是否正確。
[root@sn ~]# docker run hello-world
1.3 配置鏡像加速
[root@sn ~]# curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s
http://3e722983.m.daocloud.io
[root@sn ~]# systemctl restart docker
1.4 拉取microsoft/dotnet鏡像
[root@sn ~]#
docker pullmicrosoft
/dotnet
[root@sn ~]#
docker pullmicrosoft
/microsoft/aspnetcore
[root@sn ~]#
docker images
//
啟動一個
dotnet
鏡像
[root@sn ~]# docker run -it microsoft/dotnet
//
創建項目名為
HelloDocker.Web
的
.NET Core MVC
項目
[root@sn ~]# dotnet new mvc -n HelloDocker.Web
//
進入
HelloDocker.Web
文件夾
[root@sn ~]# cd HelloDocker.Web
//
啟動
.NET Core MVC
項目
dotnet run
2. 掛載宿主機項目到容器中
2.1 通過FileZilla上傳項目的宿主機demo目錄下:
2.2 基於microsoft/dotnet:latest鏡像,映射5000埠到宿主機5000埠並掛載宿主機demo到容器app目錄
[root@sn ~]#
docker run -p 5000:5000 -it -d -v /demo:/app microsoft/dotnet:latest
[root@sn ~]# docker ps
[root@sn ~]# docker exec –ti 4044ea20a695 /bin/bash
root@630623fd1c84:/app/demo/SN_ITProjectSolution/WA_SNWeb# dotnet run
測試結果
外部訪問宿主機IP 192.168.30.190:5000自動跳轉到Docker容器172.17.0.2:5000,說明部署成功。
3. 通過Nginx負載均衡80埠跳轉5000埠
3.1 安裝nginx:http://blog.csdn.net/Jenson_/article/details/77896608
3.2 修改配置文件:vi /usr/local/nginx/conf/nginx.conf
修改添加代碼:
http {
include mime.types;
default_type application/octet-stream;
#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';
#access_log logs/access.log main;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
#gzip on;
upstream 192.168.30.190 {
server 192.168.30.190:5000 ;
}
server {
listen 80;
server_name 192.168.30.190;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root html;
index index.html index.htm;
proxy_pass http://192.168.30.190;
}
測試結果:
外部訪問192.168.30.190(預設80埠)跳轉到192.168.30.190:5000埠,192.168.30.190:5000是Docker容器172.17.0.2:5000的映射埠。