一、docker 安装及设置
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
#安装 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 |
二、新建Net Core 程序 1、新建Net Core 项目。注意不启动Docker 支持 2、发布新建的项目(目标运行时:可移植) 3、在发布后的文件夹中新建一个Dockerfile 文件(没有后缀) 大概内容如下:
1 2 3 4 5 6 |
FROM microsoft/dotnet:2.1-aspnetcore-runtime //注意和你的版本要匹配 WORKDIR /app COPY . . //将当前目录下的所有文件(除了.dockerignore排除的路径),都拷贝进入 image 文件的/app目录。 EXPOSE 5000 //端口号(将容器 5000 端口暴露出来, 允许外部连接这个端口。) //EXPOSE 443 //Https 端口开启 ENTRYPOINT ["dotnet", "DockerDemo5.dll"] //运行的程序集 改成你自己的 |
三、上传发布后的项目到Linux服务器(CentOS) 1、进入程序的发布目录
1 2 3 4 5 6 7 8 9 |
#进入到程序的发布目标 cd /data/web/mydocker #创建 image文件 (-t参数用来指定 image 文件的名字,后面还可以用冒号指定标签 PS:注意最后的 点) docker build -t aspnetcoredocker1.1 . #生成容器,每运行一次,就会新建一个容器(这里的5000:5000 代表把容器内的5000端口映射到你主机的5000端口,容器端口在后) docker run -it -p 5000:5000 aspnetcoredocker1.1 #docker run -it -p 5000:5000 aspnetcoredocker1.1:TAG // 默认TAG是latest |
2、直接访问就可以了 3、docker 容器自动启动(在容器退出或断电开机后,docker可以通过在容器创建时的 --restart参数来指定重启策略)
1 2 3 4 5 6 7 8 9 10 11 |
# 设置启动策略 docker run --restart always -it -p 5000:5000 aspnetcoredocker1.1 #如果容器已经被创建,我们想要修改容器的重启策略 docker update --restart always 3ec28be7254a //容器ID # --restart 多个参数值选择 no 不自动重启容器. (默认值) on-failure 容器发生error而退出(容器退出状态不为0)重启容器,可以指定重启的最大次数,如:on-failure:10 unless-stopped 在容器已经stop掉或Docker stoped/restarted的时候才重启容器,手动stop的不算<br>always 在容器已经stop掉或Docker stoped/restarted的时候才重启容器 |
4、docker 相关命令 镜像文件和容器命令
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
#查看所有镜像 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) |
容器日志
1 2 3 4 5 6 7 8 9 10 11 |
#查看指定时间后的日志,只显示最后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 |
from:https://www.cnblogs.com/songl/p/11128012.html
View Details微服务架构无疑是当前最火热的开发架构,而Docker作为微服务架构的首选工具,是我们必须要了解掌握的。 我通过一天的时间,网上查文档,了解基础概念,安装Docker,试验Docker命令,通过Docker,成功部署运行Asp.NET core示例程序,算是基本入门。 这篇文章是自己总结的Docker入门篇,力求简洁,快速入门,以最短的时间看到学习成果,为深入学习Docker做基础。 学习前提:不要畏惧 面对未知,人们心里往往会产生恐惧,这是人与生俱来的,所以,我们在进入新的领域之前,首先要克服的是自己的畏难心理。不要因为困难,看几眼就放弃,那样你永远学不会。 面对新的未知领域,我们要把它当成一座灯塔,让它指引我们前进的方向。 第一:了解几个概念 镜像(Image):相信大家看到这个词,都明白什么意思,我们可以把它理解为操作系统的安装盘,Ghost镜像。我给它个定义,就叫:Docker基础运行环境副本。 容器(Container):运行中的Docker实例,称为容器。也就是一个镜像(Image)的运行时状态。 镜像仓库(Repository):Docker为开发者提供了面向各种环境的已经打包好的镜像,这些镜像构成了一个镜像仓库。开发者只需找到自己需要的Docker镜像,下载到本地,添加自己的应用上去,运行即可,某些工具类的镜像,可无需修改,直接运行。 Docker 主机(Host):运行着Docker容器的计算机或虚拟机,用于执行Docker的守护进程。 Docker客户端(Client):是与Docker主机守护进程进行通信的工具,如:Docker控制台。 第二:安装Docker 不同操作系统按照方式不同,以Win7系统为例,需要利用 docker toolbox 来安装,可以使用阿里云的镜像来下载。 下载地址:http://mirrors.aliyun.com/docker-toolbox/windows/docker-toolbox/ 安装完成之后,在桌面找到三个启动图标:Oracle VM VirtualBox,Kitematic(Alpha),Docker Quickstart …。 安装完成之后,建议重启一下计算机。 Oracle VM VirtualBox :是一个虚拟机程序。Docker是运行在Linux环境下的,要想在Windows下运行,必须借助虚拟机。感兴趣的话可以留着以后研究。 kitematic(alpha):是docker推出的GUI工具,可以更简便地操作Docker,非常适合windows用户使用习惯,推荐大家试试。这个alpha表示预览版吧,可能功能还不完善。 Docker Quickstart Terminal:是Docker控制台启动程序,双击图标启动Docker。 如果一切正常的话,可以看到以下界面。 如果启动过程中出现下面错误,Looks like something went wrong in step 'Looking for vboxmanage.exe’… 意思是没有找到虚拟机启动程序,需要设置VirtualBox的环境变量,系统环境变量中增加VBOX_MSI_INSTALL_PATH和VBOX_INSTALL_PATH 值都为C:\Program Files\Oracle\VirtualBox\ ,即VirtualBox的安装路径,注意后面的\ 不能少。环境变量设置完成之后,可尝试重新启动。 第三:熟悉几个命令 我建议实际工作中使用图形界面 kitematic,真的既简单又实用,但Docker命令还是要学习的,最重要的是,使用命令行操作显得更酷更专业。 docker 命令都是以docker开头,下面介绍几个简单,常用的命令。仅作基础介绍,具体参数用法可后期详细学习 。 docker pull:从镜像仓库中拉取镜像 。 docker run:通过镜像创建一个新的容器,并运行。需要注意的是,如果本地没有指定的镜像,会直接去镜像库下载,一定要保证拼写正确。 docker stop:停止一个容器 。 docker start:启动一个容器 。 docker restart:重启一个容器 。 docker ps:列出当前运行的容器机器状态 。 docker images 或 docker image ls:列出本地镜像。 docker build:使用Dockerfile创建自己的镜像。 第四:操作演示,从hello world开始 你可以登录Docker官方镜像仓库,选择自己感兴趣的镜像进行试验,这里我们选择最简单的 hello-world。 Docker官方镜像仓库地址:https://hub.docker.com […]
View Details