一、安装与配置Docker
1、首先安装 Docker 必要依赖包 yum install -y yum-utils device-mapper-persistent-data lvm2 2、由于自带 yum 没有 Docker-CE 所以我们需要先增加 docker repo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo 3、用 yum 安装 Docker yum install -y docker-ce 4、直接yum安装,安装成功后查看版本 docker -v 5、启动docker service docker start 6、设置开机启动 chkconfig docker on 7、国内访问 Docker Hub 较慢, 可以使用腾讯云或阿里云等其他提供的国内镜像源, 加速访问 Docker Hub,以下配置的是腾讯云 echo "OPTIONS='--registry-mirror=https://mirror.ccs.tencentyun.com'" >> /etc/sysconfig/docker 8、重新加载服务配置 systemctl daemon-reload 9、重启Docker service docker restart
二、新建.NET Core程序
1、新建项目
2、在项目中新建Dockerfile 文件,内容如下
FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim AS base WORKDIR /app EXPOSE 5000 //端口号(将容器 5000 端口暴露出来, 允许外部连接这个端口。) COPY . . //将当前目录下的所有文件(除了.dockerignore排除的路径),都拷贝进入 image 文件的/app目录 ENTRYPOINT ["dotnet", "CoreTestWeb.dll"] //运行的程序集
三、让程序在容器中跑起来
1、发布项目并上传至服务
mkdir /usr/core 新建目录,将发布文件上传至本目录
2、构建容器
进入发布目录
cd /usr/core
构建镜像 docker build -t aspnetapp . 生成容器实例 docker run -d --restart=always -p 5000:5000 --name myapp aspnetapp
如果出现:docker: Error response from daemon: cannot start a stopped process: unknown.错误,
执行此命令:yum install -y libseccomp-devel 解决
并重新构建镜像容器
docker stop myapp 停止实例 docker rm myapp 移除实例 docker rmi aspnetapp 移除镜像
docker build -t aspnetapp . 构建镜像 docker run -d --restart=always -p 5000:5000 --name myapp aspnetapp 生成实例
3、访问站点
docker 相关命令
#安装 CentOS已经将Docker软件包放在了Extras软件源中,直接利用即可
yum install docker-io -y
#查看docker的版本 version
docker -v
#开启Docker服务
systemctl start docker.service
#开机启动Docker服务
systemctl enable docker.service
#查看Docker服务启动状态
systemctl status docker.service
#重启Docker服务
systemctl restart docker.service
#查看所有镜像
docker images
#删除一个imageid的镜像
docker rmi [IMAE_ID]
#删除所有镜像
sudo docker rmi $(docker images -q)
#查看所有容器运行状态
docker ps -a
docker container ls -all
#删除一个containerid的容器(实例)
docker rm 6f0c67de4b72
#删除所有容器
docker rm $(sudo docker ps -a -q)
#查看指定时间后的日志,只显示最后100行:
docker logs -f -t --since="2019-06-08" --tail=100 CONTAINER_ID
#查看某时间之后的日志:
docker logs -t --since="2019-06-08" CONTAINER_ID
#查看某时间段日志:
docker logs -t --since="2019-06-08" --until "2019-06-09" CONTAINER_ID
#查看最近30分钟的日志:
docker logs --since 30m CONTAINER_ID