ubuntu netcore webapi 布置到docker上,详细步骤

ubuntu版本

ubuntu@VM-0-10-ubuntu:~$ cat /etc/issue 
Ubuntu 20.04 LTS \n \l

1.安装docker

更新软件源
sudo apt-get update
安装包允许apt通过HTTPS使用仓库
sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common
添加Docker官方GPG key
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
设置Docker稳定版仓库
sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
添加仓库后,更新apt源索引
sudo apt-get update
安装最新版Docker CE(社区版)
sudo apt-get install docker-ce
检查Docker CE是否安装正确
sudo docker run hello-world

第二步出错删除即可继续

以下出现问题使用
sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ gnupg \ lsb-release
解决:
sudo rm /var/lib/dpkg/lock-frontend
sudo rm /var/lib/dpkg/lock

2.配置项目webapi项目

 修改配置文件

FROM mcr.microsoft.com/dotnet/aspnet:3.1 AS base
WORKDIR /apps
EXPOSE 5000	
COPY . .
ENTRYPOINT ["dotnet", "ZZZ.WebApi.dll"]

发布文件,Dockerfile选择始终复制,发布后文件

 打包成.tar格式,上传至服务器,这里用winscp,通过ssh上传

 上传至服务器后,解压缩到根目录

root@ubuntu:/home/zzz/Downloads# tar -xvf html.tar -C /

这时在根目录,有html3文件夹,cd进入

生成镜像 build

root@ubuntu:/html3# docker build -t corewebapi .

查看是否成功执行docker images

root@VM-0-10-ubuntu:/home/ubuntu# docker images
REPOSITORY                        TAG       IMAGE ID       CREATED             SIZE
corewebapi                        latest    013c860c7086   About an hour ago   243MB
mcr.microsoft.com/dotnet/aspnet   3.1       a0d5ee7de37e   6 days ago          208MB
hello-world                       latest    d1165f221234   6 months ago        13.3kB

 这个的3.1就是我们打包时候

FROM mcr.microsoft.com/dotnet/aspnet:3.1 AS base 下载的镜像

继续执行run生成容器,我们设置的外部调用的5000端口

docker run --name corewebapi3 -d -p 5000:80 corewebapi

查看容器是否成功,是不是成功看你这句命令后,是否生成一串hash值,否则解决错误并重试

root@VM-0-10-ubuntu:/home/ubuntu# docker ps
CONTAINER ID   IMAGE        COMMAND                  CREATED       STATUS       PORTS                                             NAMES
bef770ebecca   corewebapi   "dotnet ZZZ.WebApi.d…"   2 hours ago   Up 2 hours   5000/tcp, 0.0.0.0:5000->80/tcp, :::5000->80/tcp   corewebapi3

此时就可以外部,访问5000端口,是否成功了

 然后设置docker自启动

systemctl enable docker.service

设置容器自启动

docker update --restart=always 1450df2e17e3

这样即使重启,对我们也没有大的影响

附:删除容器,先停止容器

操作容器
$ docker ps // 查看所有正在运行容器 
$ docker stop containerId // containerId 是容器的ID 
$ docker ps -a // 查看所有容器 $ docker ps -a -q // 查看所有容器ID 
$ docker stop $(docker ps -a -q) //  stop停止所有容器 
$ docker rm $(docker ps -a -q) //   remove删除所有容器
$ docker rm xxx   remove删除所有容器

删除镜像

docker rmi 579be85d9bf6
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值