DOCKER - 技术教程文章

Docker 数据卷【代码】【图】

想要了解Docker Volume,首先我们需要知道Docker的文件系统是如何工作的。Docker镜像是由多个文件系统(只读层)叠加而成。当我们启动一个容器的时候,Docker会加载只读镜像层并在其上(即镜像栈顶部)添加一个读写层。如果运行中的容器修改了现有的一个已经存在的文件,那该文件将会从读写层下面的只读层复制到读写层,该文件的只读版本仍然存在,只是已经被读写层中该文件的副本所隐藏。当删除Docker容器,并通过该镜像重新启动时...

docker中spark+scala安装配置【图】

一、scala安装首先下载scala压缩包 wget https://downloads.lightbend.com/scala/2.11.7/scala-2.11.7.tgz解压tar -zxvf scala-2.11.7.tgz移动目录mv scala-2.11.7 /usr/local/改名cd /usr/local/mv scala-2.11.7 scala配置环境变量vim /etc/profileexport SCALA_HOME=/usr/local/scalaexport PATH=$PATH:$SCALA_HOME/bin环境变量生效source /etc/profile查看scala版本scala -version分发scala到其他主机scp -r /usr/local/scala/ ...

docker初识

虚拟机:通过中间层,将一台或者多台独立机器,运行在物理硬件之上!容器:直接运行在操作系统的内核之上的用户空间,由于依赖于操作系统的特性,所以容器只能运行在相同的后者相似的内核的操作系统之上docke依赖于linux的内核特性:namespace 和Cgroups,所以docker只能运行在linux系统,而不能用在windows系统,这也是容器技术相对虚拟机技术在系统灵活性上的劣势容器技术的优点:磁盘占用空间更少!使用虚拟机部署应用,不但包含...

Docker搭建私用仓库【代码】【图】

搭建私有仓库# 1.查找registry,官方的私用仓库镜像 docker search registry# 2.下载私有仓库镜像 docker pull registry# 3.创建并后台运行容器 docker run -d -p 5000:5000 -v /opt/data/registry:/var/lib/registry registry#参数解释-d 后台运行-p 指定宿主机和容器端口映射5000:5000 宿主机的5000端口:容器的5000端口-v 数据卷挂载,即私有仓库会被创建在容器的/var/lib/registry下,通过-v参数将镜...

CentOS 7 下 yum 方式安装 Docker 环境【代码】

教你如何在 CentOS 7 下 yum 方式安装 Docker 环境。记录在CentOS 7下使用yum方式安装Docker环境的步骤。1、移除旧版本:yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-selinux docker...

Docker持久化存储之数据共享【代码】【图】

持久化存储 Data volume 要知道容器是有生命周期的。docker默认的存储方式:存储类型:(strage driver:overlay2.xfs)data volume有两种挂载方式:1)bind mount(用户管理):将宿主机上的某个目录或文件(不可以是没有格式化的磁盘文件),挂载到容器中,默认在容器内对此目录是有读写权限的,如果只需要向容器内添加文件,不希望覆盖目录,需要注意源文件必须存在,否则会被当做一个目录bind mount给容器。2)docker manager volu...

docker搭建【图】

1,宿主机系统与docker版本选型 从现有的系统来看centos7对虚拟化的支持相对来说更完美,对于docker的版本当然是最新的版本功能更完善;故选择 Centos7+docker最新版本 2,kernel升级现象描述:系统死机原因描述:centos7.1默认安装的内核为3.10版本,对于运行少量的容器来说不存在任何问题,当运行容器的数量增多时(比如100台)就会发现容器运行一段时间后操作系统会死机,导致整个物理机不可用,经研究发现将系统内核升级到...

中国区优化的Docker安装脚本【代码】

说明为了方便中国区的用户安装不同版本的docker,我们在这里提供针对中国网络环境优化的安装脚本。它们使用中国的软件包仓库(在此感谢USTC)。用法使用需要的docker版本替换以下脚本中的<docker-version-you-want>curl -sSL https://github.com/gitlawr/install-docker/blob/1.0/<docker-version-you-want>.sh?raw=true | sh或:wget -qO- https://github.com/gitlawr/install-docker/blob/1.0/<docker-version-you-want>.sh?raw=t...

Docker学习(二)- Docker 安装 Jenkins【代码】【图】

一、拉取镜像我这里安装的版本是2.222.3-centos,可以去这里获取你需要的版本: https://hub.docker.com/_/jenkins?tab=tagsdocker pull jenkins/jenkins:2.222.3-centos 二、创建本地数据卷我这里映射本地数据卷的路径为/data/jenkins_home/,你想放别的地方可以自行修改mkdir -p /data/jenkins_home/ 需要修改下目录权限,因为当映射本地数据卷时,/data/jenkins_home/目录的拥有者为root用户,而容器中jenkins用户的 uid 为 1000...

Docker(十四)-Docker四种网络模式

Docker 安装时会自动在 host 上创建三个网络,我们可用 docker network ls 命令查看:none模式,使用--net=none指定,该模式关闭了容器的网络功能。host模式,使用--net=host指定,容器将不会虚拟出自己的网卡,配置自己的IP等,而是使用宿主机的IP和端口。bridge模式,使用--net=bridge指定,默认设置 ,此模式会为每一个容器分配、设置IP等,并将容器连接到一个docker0虚拟网桥,通过docker0网桥以及Iptables nat表配置与宿主机通...

docker技术01:把docker源变更为清华镜像源【图】

清华镜像源地址:https://mirrors.tuna.tsinghua.edu.cn/更改镜像源的时候:其实我们更改的是extras的目录文件。使用清华镜像源的docker-ce源。主面上搜索docker-ce,docker-ce是社区版,ee是专业版。我们要安装的就是社区版docker。wget https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo 修改配置文件的docker-ce源的路径。(我们使用的是清华镜像docker-ce源)所以把源路径修改清华源:https://mirr...

Ubuntu18.04下安装Docker并配置SSL证书加密远程连接【代码】

Docker下载与安装下载安装包国内网络连接docker镜像还是比较慢的,这里推荐直接下载docker镜像,Ubuntu镜像下载路径为:https://download.docker.com/linux/ubuntu/dists/xenial/pool/stable/amd64/ ,可以下载合适的版本,我下载的文件列表如下:containerd.io_1.4.6-1_amd64.debdocker-ce_20.10.73-0ubuntu-xenial_amd64.debdocker-ce-cli_20.10.73-0ubuntu-xenial_amd64.deb安装dpkg -i [packagename] 注意:docker-ce_20.10.7~...

docker文件拷贝

向docker管理的“块”拷贝文件可以存在于三个时段(这里的块,可以指代镜像也可以指代运行实例。简单来说,即是docker管理的,程序员开发的,在容器中的东西)(1)镜像生成之前(2)实例运行起来之后 实际操作(1)镜像生成之前  即使用docker images 还不能查询到镜像时(一般是通过docker pull或docker build进行)  (a)使用docker build命令可以通过编写Dockerfile,在其中使用COPY命令将指定目录下的文件、文件夹,组装...

WSL中使用docker的一些总结【代码】

WSL上安装docker执行 apt-get update 出错root@WSL:/# apt-get update The following signatures couldn‘t be verified because the public key is not available: NO_PUBKEY ABF5BD827BD9BF62 解决方法sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys ABF5BD827BD9BF62 WSL中按照官方文档(Ref-1)安装完不能使用,一番折腾,还是无法使用。root@WSL:/# docker run hello-world docker: Cannot connect to the Doc...

docker安装及高级应用

一:docker基础讲解1、环境搭建网络YUM源/var/lib/dockerdocker目录/var/lib/docker/containers容器目录yum -y install dockerservice docker start;chkconfig docker on2、基础命令docker version基本信息查看docker info 查看系统(docker)层面信息,包括管理的images, containers数等docker searchxxx搜索镜像docker pullxxxx下载镜像(chug/ubuntu12.10x64)Docker push XXXX上传镜像3、查看镜像 docker images: 列出image...

DOCKER_HOST have a weird tcp【图】

[piqiu@benjaminpro ~]$boot2docker start Waiting for VM and Docker daemon to start... ..........................................................................oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo Started.Trying to get Docker socket one more time Error requesting socket: exit status 255 Auto detection of the VM's Docker socket failed. Please run `boot2docker -v...

通过docker安装Gitlab【代码】

初始化操作 说在前面Gitlab安装需要部署很多依赖和其他服务来协作,很麻烦。所以懒人想懒招,所以直接用Docker来部署,简单,省事,TNND还不用担心断电重启的问题!操作系统内核版本信息 $ uname -a输出如下 Linux yang-PowerEdge-R730 4.4.0-116-generic #140-Ubuntu SMP Mon Feb 12 21:23:04 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux安装Docker此处使用的是阿里源step 1: 安装必要的一些系统工具$ apt-get update $ apt-get -y ...

docker sshd image problem, session required pam_loginuid.so, cann't login

在使用sshd docker 镜像时, 发现一个比较诡异的问题, 有些启动的容器可以连接, 有些不能.例如 : 启动2个容器(这两个容器都有问题) : [root@localhost ~]# docker run -d --name di digoal/sshd_ceph:giant[root@localhost ~]# docker run -d --name da digoal/sshd这两个容器的CMD如下 : [root@localhost ~]# docker inspect -f ‘{{.Config.Cmd}}‘ da[/usr/sbin/sshd -D][root@localhost ~]# docker inspect -f ‘{{.Config.Cmd}...

Dockerfile【代码】

Dockerfile 基本结构Dockerfile 是一个文本格式的配置文件,用户可以使用 Dockerfile 快速创建自定义镜像。Dockerfile 由一行行命令语句组成,并且支持以 # 开头的注释行。Docker分为四部分:基础镜像信息维护者信息镜像操作指令容器启动时默认要执行的指令例如:# This dockerfile uses the ubuntu image # VERSION 2 - EDITION 1 # Author: seancheng # Command format: Instruction [arguments / command] ...# 第一行必须指定基...

docker 学习笔记【图】

很有用的博客:介绍docker   转载请注明源文章出处:http://www.cnblogs.com/lighten/p/6841677.htmlhttps://www.cnblogs.com/lighten/p/6841677.html1.前言  docker的官网:这里。下一段摘自官网描述。  docker是世界领先的软件容器平台。开发人员使用docker可以消除与同事的代码协作时产生的“在我机器上运行是正常的”等问题。运营商使用docker在独立的容器中运行和管理应用程序,以获得更好的计算密度。企业使用docker构...

Docker基础技术:Linux CGroup

前面,我们介绍了Linux Namespace,但是Namespace解决的问题主要是环境隔离的问题,这只是虚拟化中最最基础的一步,我们还需要解决对计算机资源使用上的隔离。也就是说,虽然你通过Namespace把我Jail到一个特定的环境中去了,但是我在其中的进程使用用CPU、内存、磁盘等这些计算资源其实还是可以随心所欲的。所以,我们希望对进程进行资源利用上的限制或控制。这就是Linux CGroup出来了的原因。Linux CGroup全称Linux Control Grou...

Mesos源码分析(14): DockerContainerier运行一个Task

DockerContainerizer的实现在文件src/slave/containerizer/docker.cpp中原文:http://www.cnblogs.com/popsuper1982/p/5724379.html

docker入门【代码】【图】

1. docker初识1.1 为什么要用docker?1.2. docker容器的优势更高效的利用系统资源 更快速的启动时间 一致的运行环境 持续交付和部署 更轻松的迁移 2 docker三大概念容器三大基本概念 镜像 image 容器 container 仓库 repository docker整个生命周期就是这三个概念。 3. docker安装有两种安装方法3.1 第一种 官方安装(版本比较新, 但是可能比较慢)官方教程如下,最正确安装docker姿势, 如果想要安装官方版本就使用此方法1.卸载旧版本...

windows 系统下安装docker【图】

一、介绍    Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。二、 使用docker toolbox安装docker    对于Windows用户来说,使用docker toolbox来安装docker是最简单的方式    docker toolbox是一个工具集,它主要包含以下一些内容:     1、Docker CLI 客...

1. Docker基础命令【代码】【图】

本文简要介绍Docker的基础命令,目的在于快速入门Dokcer,Docker的完整命令可以参考Docker官方手册。  Docker的子命令非常多,可以使用 docker [help|--help|-H|-h] 查看Docker完整子命令$ docker Usage: docker COMMAND ... Commands:attach Attach local standard input, output, and error streams to a running containerbuild Build an image from a Dockerfilecommit Create a new image from a contai...

常用docker管理UI【代码】【图】

1. HumpBacks特性Web UI Supporting, Easy to use.Container Grouping and Isolation.Container Upgrades and Cloning.Container Monitoring.Container Logs View.Container Cluster Scheduling, Supporting Multiple Cluster.Elasticity Cluster.Private Registry.优点基于docker原生命令,提供众多docker管理性能,占用资源少(镜像300M),易操作。缺点不提供资源分配;监控功能弱;认证管理功能弱。docker run -d --net=host --r...

VS code docker 调试 asp.net core【代码】【图】

前言.net core的诞生就是为了解决跨平台的事情的,所以.net core app运行在linux、macOS、docker上也不是什么新鲜事了。相信已经有不少.net core的项目已经部署在docker或者linux的环境下。但是一般的开发人员的开发环境不会是Ubuntu、redhat什么的,既然开发环境和部署环境的区别比较大,我们总希望在开发调试的时候,能更加贴近实际的部署环境。所以今天这篇文章说一下如何调试部署在docker的asp.net core app。如果大家有安装VS...

docker高级应用之镜像打包与节点推送【代码】【图】

目前我这里使用docker做caas平台,主要是解决:1、运维沙箱环境测试;2、研发半自动化代码部署与回滚;3、集群化应用与auto scale。目前这3点都实现,但在第2点与第3点联系的时候有个问题。在第2里,研发测试成功的代码会被打包为一个images,放入私有库,然后第3部集群更新的时候,会选择这个成功版本的镜像,但在更新中,由于每个节点都需要从私有库里获取镜像,这样节点越多更新越慢,所以为了解决这个问题,我这里在第二步研发...

Docker简单的使用命令【代码】

Hello World使用[docker run]命令在docker container中执行应用程序<pre name="code" class="plain"># docker run fedora /bin/echo 'hello world' hello worlddocker run fedora,使用fedora的image,启动一个container/bin/echo ‘hello world‘,fedora中可运行的命令,输出“hello world"交互式container# docker run -t -i fedora /bin/bash bash-4.3#-t 在container中,分配一个terminal-i 创建一个交互式连接交互运行完毕后...

docker 容器启动时设置环境变量source

镜像启动时,自动执行的是~/.bashrc文件,所以,环境变量需要配置在该文件内,这样镜像启动时,可自动执行该文件,使环境变量生效。 vi ~/.bashrc----------------------------------------------------------------------------------# .bashrc# User specific aliases and functionsalias rm=‘rm -i‘alias cp=‘cp -i‘alias mv=‘mv -i‘# Source global definitionsif [ -f /etc/bashrc ]; then . /etc/bashrcfiexpo...