在centos7上配置docker运行DotNetCore项目

1.在vmware上安装centos操作系统(略过)

2.将centos的网络设置为桥接模式,固定IP

桥接模式就是你的虚拟机就像是一台和你在同一局域网的主机一样,有自己独立的局域网ip和本机可以互相ping通)

2.1 首先将虚拟机关闭

2.2 选择需要桥接的网卡(必须是可以上网的网卡)

2.3 经过上述设置vm上的设置完成了,接下来是配置centos的网络

首先查询本机的ip,子网掩码,网关,dns服务器信息,然后再centos上

sudo vi /etc/sysconfig/network-script/ifcfg-ens33

修改该配置文件,添加并修改(第一项和最后一项是修改)

BOOTPROTO=static
IPADDR=192.198.3.110
NETMASK=255.255.255.0
GATEWAY=192.168.3.1
ONBOOT=yes

修改完后,设置DNS服务器

sudo vi /etc/resolv.conf

添加

nameserver 192.168.3.1

修改完成后,重启服务即可

sudo systemctl restart network

网络配置完毕,如果你本机可以上网的话,可以在centos上ping一个外网地址,如果能够ping通,即配置成功。

3.在vs上创建一个简单的asp .net core项目

在项目路径下添加  Dockerfile   编写如下代码:

# 添加基础镜像
FROM microsoft/dotnet:2.1-aspnetcore-runtime
# 容器中系统的工作空间
WORKDIR /app
# 拷贝当前文件夹下的文件到容器中系统的工作空间
COPY . /app# 设置Docker容器对外暴露的端口
EXPOSE 80
# 容器中使用 ["dotnet","系统启动的dll"] 来运行应用程序
# 使用ENTRYPOINT ["dotnet","系统启动的dll"]
# 或使用 CMD ["dotnet","系统启动的dll"]
ENTRYPOINT ["dotnet", "DockerTest.dll"]

并设置属性使发布时复制到发布文件夹

Dockerfile是在生成镜像时运行的命令文件,提供生成镜像需要的库和操作命令

最后将项目在确认没有错误的情况下,发布到固定路径下

4. 在centos上面安装docker

使用如下命令(因为yum命令是联网下载安装包,因此centos必须在前面将网络配置OK)

yum install -y docker

5. 在centos上安装ftp并配置firewall(防火墙)和selinux

5.1 安装ftp

前者是ftp协议服务,后者是ftp服务器软件(也可以选用其他软件)

yum install -y ftp
yum install -y vsftpd

5.2 配置(vim打开/etc/vsftpd/vsftpd.conf)

修改下面两个配置项目

# 禁用匿名用户  12 YES 改为NO
anonymous_enable=NO# 禁止切换根目录 101 行 删除#
chroot_local_user=YES

5.3 添加ftp用户

#创建一个用户 ftpuser
useradd ftpuser
#为用户 ftpuser 设置密码
echo "jingjing" | passwd ftpuser --stdin

5.4 限制用户 ftpuser只能通过 FTP 访问服务器,而不能直接登录服务器:

usermod -s /sbin/nologin ftpuser

5.5 为用户分配主目录

#添加一个欢迎文件
echo "Welcome to use FTP service." > /data/ftp/welcome.txt#设置访问权限
chmod a-w /var/ftp && chmod 777 -R /var/ftp/pub#设置为用户的主目录:
usermod -d /var/ftp ftpuser

5.6 防火墙和selinux设置(selinux是一种安全程序,会阻碍ftp)

# 关闭SELinux服务
setenforce 0 # 允许ftp
firewall-cmd --add-service=ftp

5.7 启动服务

#开机启动
systemctl enable vsftpd.service
#启动服务
systemctl start vsftpd.service

5.8 在电脑上下载一个FileZilla

就可以使用用户ftpuser 和密码 jingjing访问centos了

6.将发布文件夹通过ftp发布到centos上

点击文件夹右键,选择上传即可

7. 使用docker命令创建镜像和容器并运行

7.1 首先使用cd命令跳转到publish文件夹目录下(有dockerfile的目录)

7.2 运行命令,将项目文件(使用dockerfile)生成为镜像Image

# 注意最后有一个点,意识是将当前目录编译为
# 镜像名为school版本号1.0.0的镜像 docker build -t school:1.0.0 .

使用如下命令查询镜像列表

docker images

7.3 使用镜像启动容器

运行名字为school的容器,将本地的/var/ftp/pub/publish路径映射为容器的/app,将本地的8000端口映射为容器的80,使用school:1.0.0镜像产生容器,并返回容器ID

docker run --name=school -d -p 8000:80 -v /var/ftp/pub/publish:/app school:1.0.0 

使用如下命令查询正在运行的容器

docker ps

7.4 最后就可以使用centos的ip+8000端口去访问asp .net core程序在docker中运行的网站了

转载于:https://www.cnblogs.com/gamov/p/10128883.html

在Centos7上配置docker运行DotNetCore项目相关推荐

  1. 在CentOS7上配置Open vSwitch和VXLAN

    在CentOS7上配置Open vSwitch和VXLAN 环境 实验环境 主机环境 [yuwh@node0 ~]$ uname -a Linux node0 3.10.0-123.9.3.el7.x ...

  2. 使用Docker运行java项目需要注意的glibc依赖库问题

    使用Docker运行java项目需要注意的glibc依赖库问题 转载自:https://blog.51cto.com/u_15329153/3758717 docker官方推荐java是基于glibc ...

  3. IDEA配置tomcat的方法、IDEA配置tomcat运行web项目

    IDEA配置tomcat的方法 1.打开idea,在项目运行列表下拉选择"Edit Configurations" 2.点击 左上角的"+">Templa ...

  4. Windows 上配置Docker Desktop 的k8s

    前言:打算在windows上配置docker & k8s 的环境来实现abp vnext 的k8s部署,遂进行一系列的安装和配置 在docker desktop 上启动k8s但是一直在star ...

  5. M1上模拟器无法运行的项目,可以用Rosetta打开

    M1上模拟器无法运行的项目,可以用Rosetta打开 访达-应用程序-Xcode-右键-显示简介-通用-使用Rosetta打开

  6. mscoreei.dll没有被指定在windows上运行_在Windows上使用Docker运行.NetCore

    今天我们来说下如何在windows下使用docker运行.net core,既然是docker,那么我们首先得在windows上安装docker. 在Windows安装 docker 有两种选择 : ...

  7. 在Windows上使用Docker运行.NetCore

    今天我们来说下如何在windows下使用docker运行.net core,既然是docker,那么我们首先得在windows上安装docker. 在Windows安装 docker 有两种选择 : ...

  8. 使用docker运行dotnetcore站点

    使用docker运行netcore站点 1.新建一.netcore测试站点,dotnet publish 发布到publish目录下 2.编写Dockerfile文件 3.打包上传到centos服务器 ...

  9. 在centos7上使用Docker安装oracle 11g

    如果还没安装docker,可查看Centos7下安装Docker(详细安装教程) 1.拉取 docker 镜像: [root@localhost ~]# docker pull registry.cn ...

  10. eclipse使用maven插件(m2e)配置及运行web项目

    maven是一个项目管理工具,它可以方便对项目进行管理.本文将介绍如何在eclipse环境下,使用maven对web项目进行配置,并在tomcat容器下进行运行及调试. 一.环境准备: 1.下载tom ...

最新文章

  1. 精确人工智能——核物理与粒子物理领域的新生力量
  2. pycharm 类型注释_后端开发使用pycharm的技巧
  3. 【嵌入式开发】嵌入式 开发环境 (远程登录 | 文件共享 | NFS TFTP 服务器 | 串口连接 | Win8.1 + RedHat Enterprise 6.3 + Vmware11)
  4. python安装不了bs4_怎么在python安装bs4
  5. 面试官:Maven 的这 7 个问题你思考过没有?
  6. webuploader结合php实现图片上传到本地和保存数据库
  7. Qt在Mac系统下添加alias到IncludePath中
  8. 关于容量设计、规划、治理 你知多少?
  9. 设置windows引导linux分区,windows下安装grub引导Linux
  10. Mugeda(木疙瘩)H5案例课—什么,才是福-岑远科-专题视频课程
  11. hp ilo 服务器磁盘定位
  12. 机器学习神器Scikit-Learn保姆级入门教程
  13. python 爬虫 短信验证码
  14. 2021 ICPC 银川打铜记
  15. 计算机c盘program,电脑c盘program files(x86)文件夹可以删除吗
  16. 口袋理财:“来了就是深圳人?”全国均价最高的房租了解一下
  17. JAVA XML转对象 对象转XML
  18. 据说是新浪乐居的面试题及我的答案
  19. 大数据算法模型中的数据清洗
  20. P2357 守墓人(树状数组/线段树)

热门文章

  1. 编程基本功:找到问题的合理解释,才算解决问题
  2. 泰山游记:晚上爬并无乐趣,什么也看不到
  3. trump可音译为“专普”
  4. WEB前端、后端的说明
  5. 在tunnelbroker为服务器IP建立IPV6 Tunnel
  6. 苹果提交版本后显示”缺少出口合规证明“的解决办法
  7. 多任务计时器anytime
  8. oracle和mysql用户名_oracle的SID和用户名和角色
  9. java arraylist_Java 集合框架之 ArrayList 源码图示法简要剖析
  10. C++中对sprintf()