docker命令

dockerfile文件 与 私有仓库registry的使用操作

风格不统一 提交于 2020-01-28 20:02:53
Dockerfile常用命令(安全) 1.》FROM:构建镜像基于那个镜像 例如:FROM centos:7 2》MAINTAINER:镜像维护者名字或邮箱地址 例如:MAINTAINER adam 3》RUN:构建镜像时运行的shell命令 例如: RUN[“yum”,”install”,”httpd”] RUN yum -y install httpd 4>CMD:运行容器时执行的shell命令 例如: CMD[“/bin/bash”] 或shell 5>EXPOSE声明容器的服务端口 例如:EXPOSE 80 443 6》ENV:设置容器环境变量 例如 ENV MYSQL_ROOT_PASSWORD 123.com 7》ADD:拷贝文件或目录的镜像,如果是URL或压缩包会自动下载或自动解压 ADD <源文件>... <目标目录> ADD[“源文件”...”目标目录”] 8》COPY:拷贝文件或目录到镜像容器内,跟ADD类似,但不具备自动下载或解压功能。 9》ENTRYPOINT:运行容器时执行的shell命令 例如 ENTRYPOINT[“/bin/bash”,”-c”,”command”] ENTRYPOINT /bin/bash -c ‘command’ 10>VOLUME:指定容器挂载点到宿主机自动生成的目录或其他容器 例如: (数据持久化) VOLUME [“/var

docker原生网络的特点即使用场景,即使用测试

人走茶凉 提交于 2020-01-28 20:02:34
docker的3个原生网络的特点即使用场景 docker网络,原生网络: Docker netwwork ls 1.None网络 特点:PS:用到None网络的容器,会发现他只有一个Loopback回环的网络,没有Mac地址,IP等信息,意味着他不能跟外界通信,是被隔离起来的网络。 使用场景: 隔离,意味着安全,所以,此网络可以运行关于安全方面的验证码,效验码等服务。 [root@docker ~]# docker network ls NETWORK ID NAME DRIVER SCOPE c88c6afa3e8e bridge bridge local 167ae1b36ebf host host local f7b87e5b97e1 none null local None:什么都没有的网络: null:表示为空 bridge:桥接 SCOPE:在本地中是有效的 在仓库上拉镜像 docker pull busybox 创建none的容器为none docker run -itd --name none --network none busybox 进入none容器 docker exec -it none /bin/sh 2.host网络;基于宿主机的网络 特点:PS:用到Host网络的容器,他的网络跟宿主机的网络一模一样,那是因为,在创建这个容器之初

笔记-docker-2安装(centos6.5环境)

不羁岁月 提交于 2020-01-28 15:29:24
笔记-docker-2安装(centos6.5环境) 1. centos6.5安装docker 1.1. 升级内核 安装docker,官方文档要求linux kernel至少3.8以上,且docker只能运行在64位的系统中。由于CentOS6的内核版本为2.6,因此必须要先升级内核。 先看一下: [root@soft ~]# uname -r 2.6.32-431.el6.x86_64 内核库来源:elrepo是CentOS开源软件提供网站,这个第三方源主要是提供硬件驱动、内核更新方面的支持,如显卡、无线网卡、内核等等,现在已经支持centos7.x+,更新较快。 开始升级: 导入public key rpm --import http://www.elrepo.org/RPM-GPG-KEY-elrepo.org 安装ELRepo到CentOS-6.5中 rpm -ivh http://www.elrepo.org/elrepo-release-6-8.el6.elrepo.noarch.rpm 安装**kernel-lt(lt=long-term)** yum --enablerepo=elrepo-kernel install kernel-lt –y 或者安装kernel-ml(ml=mainline) yum --enablerepo=elrepo-kernel

docker 命令

心不动则不痛 提交于 2020-01-28 12:53:47
给容器 安装 ping 自定义 容器 名字 重新启动停止的容器 退出后 再 进去 查看运行中 容器的 进程 设置容器的端口映射 docker port 名字 查看docker 映射 情况 docker top 名字 查看 docker 里面 进程情况 查看 容器 信息 docker inspect 名字 列出镜像 查找 镜像 推送 镜像 构建 镜像 复制 文件 到 镜像里面 来源: https://www.cnblogs.com/angdh/p/12237679.html

Docker数据卷

早过忘川 提交于 2020-01-28 12:19:33
1、数据卷概念   默认情况下容器不使用任何 volume。此时容器的数据、文件系统的改动都是发生在最上面的容器层,数据与容器的生命周期同步,随着容器的被删除而被删除。虽然可使用 docker commit 命令将它持久化为一个新的镜像,但无法单独将数据持久化。   生产环境中使用Docker的过程中,往往需要对数据进行持久化,或者需要在多个容器之间进行数据共享,这必然要求容器要支持对数据的管理操作。   容器中管理数据主要有两种方式:    数据卷(Data Volumes) :容器内数据直接映射到本地主机环境;如何在容器内创建数据卷,并且把本地的目录或文件挂载到容器内的数据卷中。    数据卷容器(Data Volume Containers) :使用特定容器维护数据卷。如何使用数据卷容器在容器和主机、容器和容器之间共享数据,并实现数据的备份和恢复。 2、数据卷   数据卷是一个可供容器使用的特殊目录,它将主机操作系统目录直接映射进容器,类似于Linux的mount操作。 数据卷特性 :    (1) 数据卷可以在容器之间共享和重用,容器间传递数据将变得高效方便;    (2) 对数据卷内数据的修改会立马生效,无论是容器内操作还是本地操作;    (3) 对数据卷的更新不会影响镜像,解耦了应用和数据;    (4) 卷会一直存在,直到没有容器使用,可以安全地卸载它。 2.1

Dockerfile 指令 VOLUME 介绍

限于喜欢 提交于 2020-01-28 12:18:33
本篇文章主要介绍了浅谈docker Dockerfile 指令 VOLUME 介绍 ,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧 在介绍VOLUME指令之前,我们来看下如下场景需求: 1)容器是基于镜像创建的,最后的容器文件系统包括镜像的只读层+可写层,容器中的进程操作的数据持久化都是保存在容器的可写层上。一旦容器删除后,这些数据就没了,除非我们人工备份下来(或者基于容器创建新的镜像)。能否可以让容器进程持久化的数据保存在主机上呢?这样即使容器删除了,数据还在。 2)当我们在开发一个web应用时,开发环境是在主机本地,但运行测试环境是放在docker容器上。 这样的话,我在主机上修改文件(如html,js等)后,需要再同步到容器中。这显然比较麻烦。 3)多个容器运行一组相关联的服务,如果他们要共享一些数据怎么办? 对于这些问题,我们当然能想到各种解决方案。而docker本身提供了一种机制,可以将主机上的某个目录与容器的某个目录(称为挂载点、或者叫卷)关联起来,容器上的挂载点下的内容就是主机的这个目录下的内容,这类似linux系统下mount的机制。 这样的话,我们修改主机上该目录的内容时,不需要同步容器,对容器来说是立即生效的。 挂载点可以让多个容器共享。 下面我们来介绍具体的机制。 一、通过docker run命令 1、运行命令:docker

自定义镜像上传阿里云

流过昼夜 提交于 2020-01-28 08:05:25
目标 1、alpine制作jdk镜像 2、Alpine制作jre镜像(瘦身) 3、Docker镜像上传至阿里云 alpine制作jdk镜像 alpine Linux简介 1.Alpine Linux是一个轻型Linux发行版,它不同于通常的Linux发行版,Alpine采用了musl libc 和 BusyBox以减少系统的体积和运行时的资源消耗。 2.Alpine Linux提供了自己的包管理工具:apk(注意:ubuntu中是apt-get),我们可以通过https://pkgs.alpinelinux.org/packages 查询包信息 3.Alpine Docker镜像继承了Alpine Linux发行版的这些优势,相比于其他Linux Docker镜像,它的体积非常小 对比常用的、没有压缩过的基础镜像(查看当前的:latest标签): Alpine - 4.8MB centos - 124.8 MB Debian - 125.1MB Centos - 196MB 4.建议使用Alpine Linux 3.10.0版本,这也是 v3.10 稳定系列的首个版本 alpine:3.10 基于alpine制作JDK8镜像 #1.下载镜像 docker pull alpine:latest #2.创建并编辑dockerfile touch Dockerfile vi

docker容器持久化卷讲解

南笙酒味 提交于 2020-01-28 07:57:38
docker容器自身存储数据效率比较低,因此我们为了提高磁盘IO的性能等,需要在容器中挂载一个外部存储设备。关于讲解大致如下: Docker中的数据可以存储在类似于虚拟机磁盘的介质中,在Docker中称为数据卷(Data Volume)。数据卷可以用来存储Docker应用的数据,也可以用来在Docker容器间进行数据共享。 数据卷呈现给Docker容器的形式就是一个目录,支持多个容器间共享,修改也不会影响镜像。使用Docker的数据卷,类似在系统中使用 mount 挂载一个文件系统。 1)一个数据卷是一个特别指定的目录,该目录利用容器的UFS文件系统可以为容器提供一些稳定的特性或者数据共享。数据卷可以在多个容器之间共享。 2)创建数据卷,只要在docker run命令后面跟上-v参数即可创建一个数据卷,当然也可以跟多个-v参数来创建多个数据卷,当创建好带有数据卷的容器后, 就可以在其他容器中通过--volumes-froms参数来挂载该数据卷了,而不管该容器是否运行。也可以在Dockerfile中通过VOLUME指令来增加一个或者多个数据卷。 3)如果有一些数据想在多个容器间共享,或者想在一些临时性的容器中使用该数据,那么最好的方案就是你创建一个数据卷容器,然后从该临时性的容器中挂载该数据卷容器的数据。 这样,即使删除了刚开始的第一个数据卷容器或者中间层的数据卷容器

服务计算--docker学习实验报告

杀马特。学长 韩版系。学妹 提交于 2020-01-28 05:14:30
Docker 简单使用 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。接下里我们就一步步了解一些Docker的使用 安装docker 首先安装依赖 sudo apt-get install \ ​ apt-transport-https \ ​ ca-certificates \ ​ curl \ ​ software-properties-common 添加Docker官方的GPG密钥 安装stable存储库: 接着检查合适docker版本。 最后安装docker Docker运行 docker run -d -p 80:80 httpd 接着直接在浏览器中访问我们机器本地ip:127.0.0.1 运行第一个镜像检查是否成功安装 sudo docker run hello-world docker基本操作 安装镜像ubuntu:latest sudo docker run -it ubuntu bash 显示本地镜像 sudo docker images 获得docker帮助 docker help 显示运行中的容器 sudo docker ps 显示所有容器 sudo docker ps -a

Docker深入浅出系列 | 容器初体验

左心房为你撑大大i 提交于 2020-01-28 05:10:27
Docker深入浅出系列 | 容器初体验 教程目标 Docker已经上市很多年,不是什么新鲜事物了,很多企业或者开发同学以前也不多不少有所接触,但是有实操经验的人不多,本系列教程主要偏重实战,尽量讲干货,会根据本人理解去做阐述,具体官方概念可以查阅官方文档,本章目标如下: 了解什么是Docker 了解Docker解决了什么 了解什么是镜像和容器 了解容器与虚拟机的区别 了解Vagrant与Docker的区别 了解Docker引擎和架构 了解Docker的镜像分层 了解VirturalBox和Docker如何搭配使用 了解主体机器如何与客体机器上的容器进行通信 了解Vagrant、VirtualBox、Docker搭建与基本操作 *** 预备工作 因为我是Mac用户,所以这里VirturalBox和vagrant使用的是Mac版本,大家自己到官网下载对应的系统版本即可,强烈建议使用迅雷下载! VirtualBox-6.0.14-133895-OSX.dmg Vagrant_2.2.6_x86_64.dmg Centos7镜像 *** 容器与虚拟化技术 什么是Docker 简单来说Docker是一款可以将应用程序与基础设施分离、代码及其所有依赖项打包,使应用程序能够从一个计算环境快速可靠地运行到另一个计算环境,达到快速交付、测试、部署的容器化技术