docker命令

docker详细的基础用法(转)

a 夏天 提交于 2020-03-01 00:22:49
1、docker安装 debian7安装docker 参考地址:http://www.webmaster.me/server/installing-docker-on-debian- wheezy-in-60-seconds.html echo deb http://get.docker.io/ubuntu docker main | sudo tee/etc/apt/sources.list.d/docker.list sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 36A1D7869245C8950F966E92D8576A8BA88D21E9 sudo apt-get update sudo apt-get install -y lxc-docker #四行命令,Docker就安装好了。下面创建一个ubuntu虚拟系统: docker pull ubuntu #此处是从官网拉取名为ubuntu的image,也可手动在 https://index.docker.io上搜索想要的镜像。 docker run -i -t ubuntu /bin/bash #创建一个容器,-t是临时终端。 ubuntu12.04、windows、macOS安装docker 参考docker中文文档http://www

[k8s]-k8s入门

依然范特西╮ 提交于 2020-02-29 22:56:21
第1章 k8s系统架构 从系统架构来看,k8s分为2个节点 Master 控制节点 指挥官 Node 工作节点 干活的 1.Master节点组成 API Server :提供k8s API接口 主要处理Rest操作以及更新Etcd中的对象 是所有资源增删改查的唯一入口。 Scheduler:资源调度器 根据etcd里的节点资源状态决定将Pod绑定到哪个Node上 Controller Manager 负责保障pod的健康存在 资源对象的自动化控制中心,Kubernetes集群有很多控制器。 Etcd 这个是Kubernetes集群的数据库 所有持久化的状态信息存储在Etcd中 2.Node节点的组成 Docker Engine 负责节点容器的管理工作,最终创建出来的是一个Docker容器。 kubelet 安装在Node上的代理服务,用来管理Pods以及容器/镜像/Volume等,实现对集群对节点的管理。 kube-proxy 安装在Node上的网络代理服务,提供网络代理以及负载均衡,实现与Service通讯。 第2章 k8s逻辑架构 从逻辑架构上看,k8s分为 Pod Controller Service 1.POD POD是k8s的最小单位 POD的IP地址是随机的,删除POD会改变IP POD都有一个根容器 一个POD内可以由一个或多个容器组成

docker入门与实践之【04-使用dockerfile定制镜像】

拟墨画扇 提交于 2020-02-29 22:34:46
利用dockerfile定制镜像 Dockerfile 是一个文本文件,其内包含了一条条的指令(Instruction),每一条指令构建一层,因此每一条指令的内容,就是描述该层应当如何构建。 以定制nginx 镜像为例,使用 Dockerfile 来定制。 在一个空白目录中,建立一个文本文件,并命名为 Dockerfile: $ mkdir mynginx $ cd mynginx $ touch Dockerfile 其内容为: FROM nginx RUN echo '<h1>Hello, Docker!</h1>' > /usr/share/nginx/html/index.html 1 FROM 指定基础镜像 所谓定制镜像,那一定是以一个镜像为基础,在其上进行定制.FROM 就是指定基础镜像,一个 Dockerfile 中 FROM 是必备的指令,并且必须是第一条指令。 2 RUN 执行命令 RUN 指令是用来执行命令行命令的。由于命令行的强大能力,RUN 指令在定制镜像时是最常用的指令之一。其格式有两种: shell 格式: RUN <命令> ,就像直接在命令行中输入的命令一样。刚才写的 Dockerfile 中的 RUN 指令就是这种格式。 RUN echo '<h1>Hello, Docker!</h1>' > /usr/share/nginx/html/index

CentOS 7 搭建docker+vulhub

社会主义新天地 提交于 2020-02-29 22:24:05
1、配置yum源 为了更快下载更新的系统和安装软件包,建议将yum源替换为国内源 首先,备份系统自带yum源 cd /etc/yum.repos.d mkdir repo_bak mv *.repo repo_bak 配置阿里云yum源 curl -O http://mirrors.aliyun.com/repo/Centos-7.repo curl -O http://mirrors.aliyun.com/repo/epel-7.repo curl -O http://mirrors.aliyun.com/repo/epel-testing.repo 重新建立yum缓存 yum clean all && yum makecache 2、安装docker Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口. 首先,我们得确保 yum 包更新到最新 yum -y update 如果安装过旧版本的话,请先卸载旧版本 yum -y remove docker docker-common docker-selinux docker-engine 安装需要的软件包, yum-util 提供yum-config

jenkins部署docker

ε祈祈猫儿з 提交于 2020-02-29 20:00:02
1. 先在jenkins上配置拉取代码部分,需要在git上找到项目位置,直接复制url即可 http://192.168.0.161:3000/IT-Insurance/Back.Test-Walle 选择git的凭据 #不报错即可 2. 可以先跑一下jenkins,看看代码是否拉取正常,执行命令,编译打包 cd /root/.jenkins/workspace/test/thanos mvn package -PmakeAll -Dmaven.test.skip=true 3. 构建执行shell命令和编译打包放一起 cd /root/.jenkins/workspace/test/thanos/target scp thanos-0.0.1-SNAPSHOT.jar deploy@192.168.0.249:/opt/server/test/ 4. 在部署服务器上编写Dockerfile #docker search -s 10 centos查找镜像 docker pull docker.io/mamohr/centos-java拉取镜像 #Base umages 基础镜像 FROM docker.io/mamohr/centos-java ##MAINTAINER 维护者信息 MAINTAINER liutao #ADD ADD thanos-0.0.1-SNAPSHOT

Docker命令之 cp

♀尐吖头ヾ 提交于 2020-02-29 19:29:10
docker cp : 用于容器与主机之间的数据拷贝。 语法 docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|- docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH OPTIONS说明: -L : 保持源目标中的链接 实例 将主机/www/runoob目录拷贝到容器96f7f14e99ab的/www目录下。 docker cp /www/runoob 96f7f14e99ab:/www/ 将主机/www/runoob目录拷贝到容器96f7f14e99ab中,目录重命名为www。 docker cp /www/runoob 96f7f14e99ab:/www 将容器96f7f14e99ab的/www目录拷贝到主机的/tmp目录中。 docker cp 96f7f14e99ab:/www /tmp/ 来源: https://www.cnblogs.com/UniqueColor/p/9304800.html

docker swoft

ぃ、小莉子 提交于 2020-02-29 18:17:54
docker swoft 安装并运行docker docker run -d -p 80:80 --name swoft swoft/swoft docker ps 查看正在运行的容器 docker ps -a 查看所有容器 包括未运行的 docker exec -it swoft bash /docker exec -it [container id] bash 进入swoft容器 exit 退出容器 docker run -d -p 80:80 swoft/swoft 运行已经存在的容器 docker stop [container id] 停止运行的容器 从容器里面拷文件到宿主机 docker cp testtomcat:/usr/local/tomcat/webapps/test/js/test.js /opt docker cp 容器名:要拷贝的文件在容器里面的路径 要拷贝到宿主机的相应路径 设置宿主机和docker共享文件 共享的前提是docker容器中的文件地址应该和宿主机对应的文件是一模一样的,即要不都是空的,要不有一模一样的文件。 共享命令:docker run -d -p 80:80 -itv /Users/liutengfei/swoft/swoft:/var/www/swoft swoft/swoft /bin/bash 冒号之前是宿主机的文件地址

Docker 实现挂载的三种方式

无人久伴 提交于 2020-02-29 11:23:31
最近学习了docker,做一些笔记来巩固知识,也供他人参考 文章目录 一 通过docker run命令 二 通过dockerfile创建挂载点 三 容器共享卷(挂载点) 四 最佳实践:数据容器 五 总结 在介绍VOLUME指令之前,我们来看下如下场景需求: 1.容器是基于镜像创建的,最后的容器文件系统包括镜像的只读层+可写层,容器中的进程操作的数据持久化都是保存在容器的可写层上。一旦容器删除后,这些数据就没了,除非我们人工备份下来(或者基于容器创建新的镜像)。能否可以让容器进程持久化的数据保存在主机上呢?这样即使容器删除了,数据还在。 2. 当我们在开发一个web应用时,开发环境是在主机本地,但运行测试环境是放在docker容器上。 这样的话,我在主机上修改文件(如html,js等)后,需要再同步到容器中。这显然比较麻烦。 3. 多个容器运行一组相关联的服务,如果他们要共享一些数据怎么办? 对于这些问题,我们当然能想到各种解决方案。而docker本身提供了一种机制,可以将主机上的某个目录与容器的某个目录(称为挂载点、或者叫卷)关联起来,容器上的挂载点下的内容就是主机的这个目录下的内容,这类似linux系统下mount的机制。 这样的话,我们修改主机上该目录的内容时,不需要同步容器,对容器来说是立即生效的。 挂载点可以让多个容器共享。 下面我们来介绍具体的实现机制。 一

Docker 镜像和容器的导入导出

梦想与她 提交于 2020-02-29 07:38:28
Docker 镜像和容器的导入导出 一、镜像的导出和导入 1.镜像的保存 [root@k8s-master ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE nginx latest ae513a47849c 2 months ago 109MB debian jessie 4eb8376dc2a3 2 months ago 127MB rabbitmq 3.6.8 8cdcbee37f62 15 months ago 179MB [root@k8s-master tmp]# docker save ae513a47849c > nginx-save.tar [root@k8s-master tmp]# ls -lh total 108M -rw-r--r-- 1 root root 108M Jul 4 09:32 nginx-save.tar 2.镜像的导入 可以将导出的nginx-save.tar包传到需要的docker主机上面,然后执行导入命令. [root@k8s-master tmp]# ls -lh total 108M -rw-r--r-- 1 root root 108M Jul 4 09:32 nginx-save.tar [root@k8s-master tmp]# docker load <

centos7下安装docker(10容器底层--cgroup和namespace)

大憨熊 提交于 2020-02-29 07:10:51
cgroup和namespace是实现容器底层的重要技术 cgroup:实现资源限制 namespace:实现资源隔离 1.cgroup:control group Linux操作系统通过cgroup可以设置进程使用CPU,内存和IO资源使用的限额。我们之前学习的通过-m,--memory-swap,-c,--blkio-weight就是通过cgroup实现的。那么cgroup到底是什么样子的呢? 可以在 /sys/fs/cgroup 里面找到,例如: 我们运行一个容器,我们设置的cpu的权重是700 我们进入/sys/fs/cgroup/cpu/docker目录下的相应的容器的ID的目录里面,看cpu.shares,可以看到我们设置的权重是700 同样的我们进入/sys/fs/cgroup/memory/docker/中大概是memory.limit_in_bytes这个文件是容器内存的大小 同样的我们进入/sys/fs/cgroup/blkio/docker/中,blkio.weight这个文件是Block IO的权重文件 我们可以在以上的文件中,查看或者更改容器资源的大小 2.namespace 我们运行的每一个容器,都像是一个新的操作系统一样,都有文件系统,网卡等资源;那网卡来说,每个容器都会认为自己有一块独立的网卡,即使Host主机实际只有一块网卡资源