升级项目到.NET Core 2.0,在Linux上安装Docker,并成功部署

Docker从入门到实践

一、安装Docker

a)、设置Docker仓库

1、按惯例,首先更新Ubuntu的包索引

$ sudo apt-get update

2、让服务器可以使用Https更新仓库

$ sudo apt-get install apt-transport-https ca-certificates curl software-properties-common

3、添加Docker官方的密钥对,如果没问题,会返回“OK”

$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

4、校验密钥(9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88)是否和官方一致

$ sudo apt-key fingerprint 0EBFCD88

5、设置官方稳定版的仓库来源

$ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

b)、安装Docker

1、再次更新下包索引,因为刚才加了Docker仓库,确保是否命中了Docker源

$ sudo apt-get update

2、安装最新版本的Docker-CE社区版

$ sudo apt-get install docker-ce

3、需要安装其他版本的请使用以下命令

$ sudo apt-get install docker-ce=1.13

4、查看是否安装成功

$ docker version

5、试着运行一个测试镜像(repository),万能的Hello World!

$ sudo docker run hello-world

修改Docker默认启动文件路径

.停止docker运行
systemctl stop docker
.在data目录下创建docker目录
mkdir /data/docker
.修改docker的systemd的 docker.service的配置文件
vim /usr/lib/systemd/system/docker.service
vim /etc/systemd/system/multi-user.target.wants/docker.service
ExecStart=/usr/bin/dockerd --graph /data/docker 、迁移/var/lib/docker目录下面的文件到 /data/docker/下面 cp -R /var/lib/docker/* /data/docker/ systemctl daemon-reload
systemctl start docker

Docker镜像删除

Docker 容器镜像删除
.停止所有的container,这样才能够删除其中的images:
docker stop $(docker ps -a -q)
如果想要删除所有container的话再加一个指令:
docker rm $(docker ps -a -q)
.查看当前有些什么images
docker images
.删除images,通过image的id来指定删除谁
docker rmi <image id>
想要删除untagged images,也就是那些id为<None>的image的话可以用
docker rmi $(docker images | grep "^<none>" | awk "{print $3}")
要删除全部image的话
docker rmi $(docker images -q) docker system prune -a -f

二、.NetCore的Docker配置

准备工作:首先记录接下来可能会用到的几个常用命令

sudo docker pull microsoft/dotnet    //从docker仓库拉取一个名称为“microsoft/dotnet”的镜像
sudo docker build light //构建一个名称为light的容器
sudo docker run hello-world //运行hello-world容器
sudo docker images //查看所有镜像
sudo docker rm containerid 容器id //删除containerid容器id
sudo docker rmi 63sf86332e //删除一个imageid的镜像
sudo docker rmi $(docker images -q) //删除所有镜像
sudo docker ps -a //查看所有容器
sudo docker rm 6f0c67de4b72 //删除一个containerid的容器
sudo docker rm $(sudo docker ps -a -q) //删除所有容器
说明:使用Ctrl+D快捷键或者键入exit命令来退出容器命令。
需要注意的是,使用rmi命令删除镜像时,如果已有基于该镜像启动的容器存在,则无法直接删除,需要首先删除容器。
当然,rmi和rm这两个子命令都提供-f选项,可强制删除存在容器的镜像或启动中的容器。

1、从docker仓库拉取一个名称为“microsoft/dotnet”的镜像

sudo docker pull microsoft/dotnet:latest

完成之后查看一下所有镜像

(镜像:从仓库中拉取到本地的内容称作镜像;一个镜像里面包含:仓库名称,TAG,镜像ID,创建时间,大小等)

sudo docker images     //查看所有镜像

没有运行过得镜像是没有它对应的容器,查看容器的命令

sudo docker ps -a     //查看所有容器

注意:此时还没有容器。

2、首次进入到容器里面需要使用到镜像的仓库名称“microsoft/dotnet”

sudo docker run -it  microsoft/dotnet  //每次run,都会重新构造出新的互不影响的容器,请自行查看
dotnet --version //查看dot net版本

docker run之后,就会自动构建一个容器了,以后可以使用start、stop、restart命令操作一个存在的容器了。

(容器:从镜像里面创建出来的一个副本;一个容器里面包含:容器ID,镜像所在的仓库名称,命令,创建时间等)

容器和镜像的关系好比:object和class的关系。

启动一个存在的容器

sudo docker start -i 4dab7aababa1  --容器ID

安装Docker,Asp.net core的更多相关文章

  1. Ubuntu & GitLab CI & Docker & ASP.NET Core 2.0 自动化发布和部署(2)

    上一篇:Ubuntu & GitLab CI & Docker & ASP.NET Core 2.0 自动化发布和部署(1) 服务器版本 Ubuntu 16.04 LTS. 本 ...

  2. Azure DevOps+Docker+Asp.NET Core 实现CI/CD(二.创建CI持续集成管道)

    前言 本文主要是讲解如何使用Azure DevOps+Docker 来实现持续集成Asp.NET Core项目(当然 也可以是任意项目). 上一篇: Azure DevOps+Docker+Asp.N ...

  3. Docker & ASP.NET Core 教程

    第一篇:把代码连接到容器 第二篇:定制Docker镜像 第三篇:发布镜像 第四篇:容器间的连接 第五篇: Docker & ASP.NET Core (5):Docker Compose AS ...

  4. Ubuntu & GitLab CI & Docker & ASP.NET Core 2.0 自动化发布和部署(1)

    相关博文: Ubuntu 简单安装和配置 GitLab Ubuntu 简单安装 Docker Ubuntu Docker 简单安装 GitLab Ubuntu Docker 安装和配置 GitLab ...

  5. Docker & ASP.NET Core (2):定制Docker镜像

    上一篇文章:把代码连接到容器 Dockerfile 在Docker的世界里,我们可以通过一个叫Dockerfile的文件来创建Docker镜像,随后可以运行容器. Dockerfile就是一个文本文件 ...

  6. Azure DevOps+Docker+Asp.NET Core 实现CI/CD(一 .简介与创建自己的代理池)

    前言 本文主要是讲解如何使用Azure DevOps+Docker 来实现持续集成Asp.NET Core项目(当然 也可以是任意项目). 打算用三个篇幅来记录完整的全过程 觉得有帮助的朋友~可以左上 ...

  7. Jenkins + Docker + ASP.NET Core自动化部署

    本来没想着要写这篇博客,但是在实操过程中,一个是被网络问题搞炸了心态(真心感觉网络能把人搞疯,别人下个包.下个镜像几秒钟搞定,我看着我的几KB小水管真是有苦说不出),另一个就是这里面坑还是有一些的,写 ...

  8. Docker & ASP.NET Core (5):Docker Compose

    第一篇:把代码连接到容器 第二篇:定制Docker镜像 第三篇:发布镜像 第四篇:容器间的连接 Docker Compose简介 Compose是一个用来定义和运行多容器Docker应用的工具.使用C ...

  9. Docker & ASP.NET Core (4):容器间的连接

    第一篇:把代码连接到容器 第二篇:定制Docker镜像 第三篇:发布镜像 Docker容器间的连接 Docker提供了两种方式可以用来做容器间的连接/通信: Legacy Linking:这种方式使用 ...

随机推荐

  1. 20165220实验二《Java面向对象程序设计》

    实验封面: 实验二 面向对象程序设计-1 实验要求: 参考 http://www.cnblogs.com/rocedu/p/6371315.html#SECUNITTEST 参考http://www. ...

  2. linuxDNS配置

    DNS配置 vim /etc/resolv.conf nameserver 114.114.114.114

  3. linux基础 用户(组)管理

    修改/etc/shadow文件 1.chage -m MINDAYS USERNAME#设置密码修改最小天数2.chage -M MAXDAYS USERNAME#设置密码修改最大天数3.chage ...

  4. 图片预览组件PhotoView

    图片预览组件PhotoView PhotoView是一款图片预览组件,广泛应用于大图的查看.该组件支持图片手势缩放.旋转等功能.它可以很好的和ViewPager.Picasso等组件结合,实现各种复杂 ...

  5. C语言中存储类别又分为四类:自动(auto)、静态(static)、寄存器的(register)和外部的(extern)。

    除法运算中注意: 如果相除的两个数都是整数的话,则结果也为整数,小数部分省略,如8/3 = 2:而两数中有一个为小数,结果则为小数,如:9.0/2 = 4.500000. 取余运算中注意: 该运算只适 ...

  6. [python]UnicodeEncodeError: 'gbk' codec can't encode character '\ufffd'

    有关编码问题,一直以来都是十分头疼的问题.代码中的字符编码其实还好,但是由于使用的window系统,会用Window的默认编码去解析文本. 今天用脚本在写文件的时候,就总是弹出UnicodeEncod ...

  7. [linux]服务器apache配置vhost

    官网示例: http://httpd.apache.org/docs/current/vhosts/examples.html

  8. BZOJ.1178.[APIO2009]会议中心(贪心 倍增)

    BZOJ 洛谷 \(Description\) 给定\(n\)个区间\([L_i,R_i]\),要选出尽量多的区间,并满足它们互不相交.求最多能选出多少个的区间以及字典序最小的方案. \(n\leq2 ...

  9. DWM1000 蓝点无限 PCB样板

    蓝点DWM1000 模块已经打样测试完毕,有兴趣的可以申请购买了,更多信息参见 蓝点论坛 正文: 虽然经过一段很长时间的停滞,最近调试成功,可以实现精准测距 和定位. 部分模块正在陆续整理,准备出售一 ...

  10. BZOJ2689 : 堡垒

    问题等价于每个三角形里至少选择两个点. 考虑拓扑,每次取出度数为$2$的点$x$,代表一个只与最多一个三角形相邻的三角形$(x,y,z)$. 如果$x$已选,那么$(x,y)$以及$(x,z)$都已经 ...