一、部署docker

1、确保已经安装了gcc
yum -y install gcc
yum -y install gcc-c++
2、安装docker,-ce免费版,-ee收费版,如果-ce无法安装,则去掉-ce,如果去掉-ce则会出现不兼容的问题
yum install docker -ce
3、启动docker
systemctl start docker
设置开机自启动
systemctl enable docker
4、查看docker版本
docker version
5.下载hello-world镜像,如果拉不过来就将docker的镜像改成国内的
docker pull hello-world


 
6.运行下列代码,进行阿里云镜像加速,直接全复制、全粘贴


sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://u6jmg4t4.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

7、测试运行hello-world
docker run hello-world

8.拉取.net core 6.0镜像 ,最新版.net core 镜像
docker run -it microsoft/dotnet:latest

或 docker pull mcr.microsoft.com/dotnet/aspnet:6.0

9.上传zip到linux

注意要上传项目的发布后文件,并且Dockerfile属性要改为始终复制,里面文件夹要改成实际的文件夹,文件内容如下:

//

FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS base
WORKDIR /app
EXPOSE 80
EXPOSE 443

FROM base AS final
# 从当前文件目录,复制文件到docker目录
COPY . . 
ENTRYPOINT ["dotnet", "testapi.dll"]

///

10.解压到指定文件夹
11.生成docker Image,最后有一个点,一定要注意
docker build -t testapi .
12.查看镜像
docker images
13.启动镜像,绑定容器的 8080 端口,并将其映射到本地主机  的 8100 端口上。
docker run --name testapi -p 8100:8080 testapi

到这步,只要端口开放即可正常运行网站,但是命令关闭即不能访问网站;需要加守护进程,方可在日常正常运行,加守护进程具体方法

vi /etc/rc.d/init.d/web_cs8.sh  #创建shell脚本
内容:
#!/bin/bash
#chkconfig: 2345 88 99
docker run --name cs8 -p 8100:8100 cs8   
docker restart cs8  
  
cd /etc/rc.d/init.d  #转到init.d文件夹
chmod u+x web_cs8.sh  #授予执行权限
./web_cs8.sh   #执行脚本
chkconfig --add web_cs8.sh #自启动

14.进入到容器
docker exec -it testapi /bin/bash
15.给已有容器设置开机自动启动
docker update --restart=always 容器名字
16.取消容器开机自动启动
docker update --restart=no 容器名字

错误处理:

1.dockerfile时出现错误:Error parsing reference: "mcr.microsoft.com/dotnet/aspnet:3.1 AS base" is not a valid repository/tag: invalid reference format
这是在上述第11步出现的问题,原因是:版本不一致造成的,原来安装的应该是docker 1.3.1,但是应该安装 docker ce 20

解决方法:

(1)删除docker
yum remove docker docker-common container-selinux docker-selinux docker-engine
(2)更新yum
yum update
(3)安装 yum-utils
 yum install -y yum-utils
(4)添加yum源
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
(5)安装docker-ce
yum install -y docker-ce
(6)启动 docker
systemctl start docker
(7)验证是否安装成功
docker --version

2.Dockerfile一般都会出现问题


其他命令:
docker images  显示所有docker下的镜像

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐