docker命令

.NET Core容器化之多容器应用部署-使用Docker-Compose

两盒软妹~` 提交于 2020-03-23 19:44:18
原文补充: -- docker-compose.ymlversion: '2' services: mvc-web: container_name: mvc.web.compose build: . reverse-proxy: container_name: reverse-proxy image: nginx ports: - "9090:8080" volumes: - ./proxy.conf:/etc/nginx/conf.d/default.conf -- DockerfileFROM microsoft/dotnet:latest WORKDIR /app COPY . /app RUN dotnet restore EXPOSE 6100 ENV ASPNETCORE_URLS http://*:6100 ENTRYPOINT ["dotnet","run"] -- proxy.confserver { listen 8080; location / { proxy_pass http://mvc-web:6100; } } 资料包下载 --------------------------------------------------------------------------------------------------------------------

Docker基础

痴心易碎 提交于 2020-03-23 19:12:31
一、 Docker 简介 Docker 是一个开源的应用容器引擎,可以快速构建一致的开发环境。容器是完全使用沙箱机制,相互之间不会有任何接口,更重要的是容器性能开销极低。 二、 下载Docker和Docker-compose yum install docker curl -L https://github.com/docker/compose/releases/download/1.22.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose service docker start 三、 Docker 命令大全 docker container ls -a #查看container信息 docker exec -it containerID bash #进入container docker run -p 4000:80 imageName #将机器的 4000 端口映射到容器的 80 端口 docker run -d -p 4000:80 imageName # 内容相同,但在分离模式下 docker ps # 查看所有正在运行的容器的列表 docker stop containerID # 平稳地停止指定的容器

Docker搭建私有仓库管理系统Harbor

陌路散爱 提交于 2020-03-23 18:20:42
转载声明 本文作者: Clay 发布时间: 2019-01-27 22:49:20 本文链接: https://www.techgrow.cn/posts/99d575a6.html 相关站点 Harbor 官网 Harbor Docs Harbor Github Harbor Releases Harbor介绍 Harbor是VMware公司开源的一个用于存储和分发Docker镜像的企业级Registry服务器,以Docker开源的Registry为基础,通过添加一些企业必需的功能特性,例如安全、标识和管理等,扩展了开源Docker Distribution。作为一个企业级私有Registry服务器,Harbor提供了更好的性能和安全,提升用户使用Registry构建和运行环境传输镜像的效率。Harbor支持安装在多个Registry节点的镜像资源复制,镜像全部保存在私有Registry中,确保数据和知识产权在公司内部网络中管控。另外,Harbor也提供了高级的安全特性,诸如用户管理,访问控制和活动审计等。 Harbor特性 基于角色的访问控制(Role Based Access Control) 基于策略的镜像复制(Policy based image replication) 镜像的漏洞扫描(Vulnerability Scanning) AD/LDAP集成(LDAP/AD

Centos7 Docker iptables规则链说明

别等时光非礼了梦想. 提交于 2020-03-23 12:23:33
3 月,跳不动了?>>> 一、切换Centos7防火墙为iptables #关闭firewall systemctl stop firewalld.service #停止firewall systemctl disable firewalld.service #禁止firewall开机启动 systemctl mask firewalld.service #移除firewall #安装iptables yum install -y iptables-services #安装iptables vim /etc/sysconfig/iptables #编辑防火墙配置文件 systemctl restart iptables.service #最后重启防火墙使配置生效 systemctl enable iptables.service #设置防火墙开机启动 #其他相关命令 systemctl disable iptables #禁止iptables服务 systemctl stop iptables #暂停服务 systemctl enable iptables #解除禁止iptables systemctl start iptables #开启服务 二、docker 修改iptables的配置说明 #nat 链规则修改说明 # Generated by iptables-save v1

第15 章 : 深入解析 Linux 容器

家住魔仙堡 提交于 2020-03-23 04:47:29
深入解析 Linux 容器 今天的内容主要分成以下三个部分 资源隔离和限制; 容器镜像的构成; 容器引擎的构成; 前两个部分就是资源隔离和限制还有容器镜像的构成,第三部分会以一个业界比较成熟的容器引擎为例去讲解一下容器引擎的构成。 容器 容器是一种轻量级的虚拟化技术,因为它跟虚拟机比起来,它少了一层 hypervisor 层。先看一下下面这张图,这张图简单描述了一个容器的启动过程。 最下面是一个磁盘,容器的镜像是存储在磁盘上面的。上层是一个容器引擎,容器引擎可以是 docker,也可以是其它的容器引擎。引擎向下发一个请求,比如说创建容器,然后这时候它就把磁盘上面的容器镜像,运行成在宿主机上的一个进程。 对于容器来说,最重要的是怎么保证这个进程所用到的资源是被隔离和被限制住的,在 Linux 内核上面是由 cgroup 和 namespace 这两个技术来保证的。接下来以 docker 为例,来详细介绍一下资源隔离和容器镜像这两部分内容。 一、资源隔离和限制 namespace namespace 是用来做资源隔离的,在 Linux 内核上有七种 namespace,docker 中用到了前六种。第七种 cgroup namespace 在 docker 本身并没有用到,但是在 runC 实现中实现了 cgroup namespace。 我们先从头看一下: 第一个是 mount

Docker--02 Dockerfile自动构建Docker镜像

痞子三分冷 提交于 2020-03-22 18:11:20
目录 Dockerfile自动构建Docker镜像 1.为什么自己制作镜像? 2. 镜像分为几类: 3. Dockerfile操作命令说明 4. 制作镜像步骤: 5. dockerfile编写技巧 6. 使用Dockerfile创建云盘 6.1. 准备需要的文件 6.2 编写dockerfile 6.3 构建新镜像 6.4 基于新镜像运行容器 6.5编写构建,启动脚本 Dockerfile自动构建Docker镜像 1.为什么自己制作镜像? 安全。 别人定义的镜像安全性不可控。 按需定制。 根据现有的环境自制镜像。 环境一致性。 要与线上的业务环境保持一致。 标准化。 2. 镜像分为几类: 基础镜像。 例如: centos、 ubuntu 、 apline 中间件镜像。 例如: java、 tomcat、 nginx等。 应用镜像。 例如: jenkins、 zabbix。 3. Dockerfile操作命令说明 Docker通过对于在Dockerfile中的一系列指令的顺序解析实现自动的image的构建   通过使用build命令,根据Dockerfiel的描述来构建镜像   通过源代码路径的方式   通过标准输入流的方式 Dockerfile指令:   只支持Docker自己定义的一套指令,不支持自定义   大小写不敏感,但是建议全部使用大写  

Docker(五):镜像

爷,独闯天下 提交于 2020-03-21 22:34:45
一,什么是镜像? Docker的镜像文件是由文件系统叠加而成的。最底端是一个引导文件系统,即bootfs。Docker用户几乎永远没有机会和引导文件有什么交互,实际上,当一个容器启动之后,容器就会被移动到内存中,而创建容器镜像文件中的引导文件系统就会被卸载。 Docker镜像的第二层是root文件系统rootfs,位于引导文件系统之上,rootfs可以是一种或者多种操作系统的文件系统(比如说Debian或者Ubuntu的文件系统)。在传统的Linux引导过程中,root文件系统最先会以只读的方式加载,当引导完成并完成了完整性检查之后,才会切换到读写模式。但是在Docker里,root的文件系统只能为只读状态,并且Docker利用联合加载(union mount)技术又会在root文件系统上加载更多的只读文件系统。联合加载是指一次同时加载多个文件系统,但是外面只能看到一个文件系统。联合加载会将各层文件系统叠加在一起,这样最终的文件系统会包含所有底层的文件和目录。Docker将这样的文件系统称为镜像。一个镜像可以放在另一个镜像的顶部,位于下部的镜像称之为父镜像,可以以此类推,直到最底部,最底部的镜像是基础镜像。最后,当从一个镜像启动容器时,Docker会在该镜像的最顶层加载一个读写文件系统。我们想在Docker中运行的程序就是在这个读写层中执行的。

nvidia-docker+cuda8.0+ubuntu16.04

 ̄綄美尐妖づ 提交于 2020-03-21 22:34:08
nvidia-docker安装 如果之前安装过docker1.0版本,需要先删掉该版本和之前创建的容器 docker volume ls -q -f driver=nvidia-docker | xargs -r -I{} -n1 docker ps -q -a -f volume={} | xargs -r docker rm -f sudo apt-get purge -y nvidia-docker 添加代码仓库 curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | \ sudo apt-key add - distribution=$(. /etc/os-release;echo $ID$VERSION_ID) curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | \ sudo tee /etc/apt/sources.list.d/nvidia-docker.list sudo apt-get update 安装docker 2 sudo apt-get install -y nvidia-docker2 sudo pkill -SIGHUP dockerd   拉取镜像 sudo nvidia

Docker数据管理

泄露秘密 提交于 2020-03-21 22:25:22
因为docker 重启所有的docker数据都会丢失。怎么保存数据到本址 1、挂载本地的目录到容器里(备份) : docker run -itd -v /data/:/data centos bash -v 指定挂载目录,前面的是宿主机目录,后面的是容器目录。创建成功后两个目录内容会同步,从面达到备份的目的。 2、挂载数据卷 其实我们挂载目录的时候,可以指定容器name,如果不指定就随机定义了。比如上面我们没有指定,它就生成了一个名字为relaxed_franklin,这个名字可以使用命令 docker ps 看最右侧一列![] docker run -itd --volumes-from relaxed_franklin centos bash --volumes-from后面跟已启动的主机名,使用 relaxed_franklin的数据卷。我们使用了centos 创建了新的容器 3、定义数据卷容器 有时候,我们需要多个容器之间相互共享数据,类似于linux里面的NFS,所以就可以搭建一个专门的数据卷容器,然后其他容器直接挂载该数据卷。 首先建立数据卷容器 docker run -itd -v /data/ --name testvol centos bash //注意这里的/data/是容器的/data目录,并非本地的/data/目录。 然后让其他容器挂载该数据卷 docker

Docker网络模式

一曲冷凌霜 提交于 2020-03-21 22:25:10
host模式,使用docker run时使用--net=host指定 docker使用的网络实际上和宿主机一样,在容器内看到的网卡ip是宿主机ip container模式,使用--net=container:container_id/container_name 多个容器使用共同的网络,看到的ip是一样的 none模式,使用--net=none指定 这种模式下,不会配置任何网络 bridge模式,使用--net=bridge指定默认模式 不用指定默认就是这种网络模式。这种模式会为每个容器分配一个独立的Network Namespace。类似于vmware的nat网络模式。同一个宿主机上的所有容器会在同一个网段下,相互之间是可以通信的。 1、从外部访问容器 首先使用centos镜像新建一个容器,然后在该容器中安装httpd服务,并启动 ###启动镜像 docker run -itd centos docker ps docker exec -it 1ce0ec25afeb bash ###安装nginx yum install -y epel-release yum install -y nginx ###再把该容器导成一个新的镜像(centos-httpd),然后再使用新镜像创建容器,并指定端口映射 docker commit -m "install nginx" -a "test