【NetCore我花2】CentOS下通过Docker部署.netCore接口

169 阅读2分钟

前言

本章不包含.netCore接口发布内容,将在第3篇文章中介绍

获取镜像

获取命令:docker pull dockerjsak/bale:1.0.0

1.0.0: Pulling from dockerjsak/bale
8d691f585fa8: Pull complete 
a9e6ceefc5a0: Pull complete 
……

公以镜像不需要密码,私有镜像 先挖个坑… 等我会了回来补

运行镜像

方式一:docker run --name=xxxtest -p 80:80 -d dockerjsak/bale:1.0.0

方式二:docker run --name=xxxtest --net=host -d dockerjsak/bale:1.0.0

方式三:docker run --name=xxxtest --link=redis-docker:redis-docker -p 5001:80 -d dockerjsak/bale:1.0.0

--link=xxx:bbb:意为连接别的容器,xxx为别的容器名字,bbb为别名

--net=host:意为同容器于本机同网络

--name:指定容器名称为testbale

-p:指定容器端口,左边80代表宿主机端口,右边80代表容器端口,即将容器的80端口映射到宿主机80端口

-d:指定容器后台运行,如果不指定此命令,当前终端关闭或者被占用程序,则会退出

.net Core 项目中的Dockerfile文件中的EXPOSE必须是80(目的是与上面运行命令中的端口一致)

成果检验:xxx.xxx.xx.xx/api/Values/… 输出 ["value1","value2"]

成果检验:xxx.xxx.xx.xx:80 输出 hello world

常见问题

1.使用“方式3”运行,会出现容器无法访问网络问题

解决办法: vim /usr/lib/sysctl.d/00-system.conf,增加net.ipv4.ip_forward=1 然后保存,重启systemctl restart network

常用命令附录

命令说明 命令语句 备注
列出本机的所有 image 文件 docker image ls
删除 image 文件 docker image rm [imageName]
从仓库拉取镜像 docker image pull library/hello-world
删除一个imageid的镜像 docker rmi [image_id]
强制删除一个imageid的镜像 docker rmi -f [image_id]
删除所有镜像 docker rmi $(docker images -q)
查看所有容器运行状态 docker ps -a
删除一个containerid的容器(实例) docker rm [container_id]
删除所有容器 docker rm $(docker ps -a -q)
列出本机正在运行的容器 docker container ls
列出本机所有容器,包括终止运行的容器 docker container ls --all
启动已经生成、已经停止运行的容器文件 docker container start [containerID]
停止运行的容器文件 docker container stop [containerID]
用来查看 docker 容器的输出 docker container logs [containerID]
修改容器自启动状态 docker update --restart=always [containerID] no不重启,on-failure 非0状态重启, always 自动重启