docker命令

Docker 安装 MongoDB

南笙酒味 提交于 2020-03-31 07:58:57
Docker 安装 MongoDB 方法一、docker pull mongo 查找 Docker Hub 上的 mongo 镜像: docker search mongo 这里我们拉取官方的镜像 mongo:3.2 : docker pull mongo:3.2 等待下载完成后,我们就可以在本地镜像列表里查到 REPOSITORY 为 mongo,标签为 3.2 的镜像: docker images | grep mongo 方法二、通过 Dockerfile 构建 创建Dockerfile 首先,创建目录 mongo,用于存放后面的相关东西: mkdir -p ./mongo ./mongo/db db目录将映射为 mongo 容器配置的 /data/db 目录,作为 mongo 数据的存储目录 进入创建的 mongo 目录,创建 Dockerfile FROM debian:jessie-slim # add our user and group first to make sure their IDs get assigned consistently, regardless of whatever dependencies get added RUN groupadd -r mongodb && useradd -r -g mongodb mongodb RUN apt

十分钟明白什么是容器技术

喜欢而已 提交于 2020-03-31 05:35:50
欢迎大家前往 腾讯云+社区 ,获取更多腾讯海量技术实践干货哦~ 本文由 宝哥@devops运维 发表于 云+社区专栏 一、什么是容器? 容器这个词,当你第一眼看它或许脑子里是这东西:瓶瓶罐罐、装水、装其他东西的玩意。 不管是什么,总的来说,容器给人第一印象就是——“装”。 那今天我们要说的容器技术是怎么一个概念呢?其实,IT里的容器技术是英文单词Linux Container的直译。container这个单词有集装箱、容器的含义(主要偏集装箱意思)。不过,在中文环境下,咱们要交流要传授,如果翻译成“集装箱技术” 就有点拗口,所以结合中国人的吐字习惯和文化背景,更喜欢用容器这个词。不过,如果要形象的理解Linux Container技术的话,还是得念成集装箱会比较好。我们知道,海边码头里的集装箱是运载货物用的,它是一种按规格标准化的钢制箱子。集装箱的特色, 在于其格式划一,并可以层层重叠 ,所以可以大量放置在特别设计的远洋轮船中(早期航运是没有集装箱概念的,那时候货物杂乱无章的放,很影响出货和运输效率)。有了集装箱,那么这就更加快捷方便的为生产商提供廉价的运输服务。 因此,IT世界里借鉴了这一理念。早期,大家都认为硬件抽象层基于hypervisor的虚拟化方式可以最大程度上提供虚拟化管理的灵活性。各种不同操作系统的虚拟机都能通过hypervisor(KVM、XEN等)来衍生、运行

docker基础(制作镜像包并导成压缩包格式)

跟風遠走 提交于 2020-03-30 19:30:06
环境说明: centos 7.4 前提:SElinux权限开放,防火墙关闭 [root@localhost ~]# setenforce 0 [root@localhost ~]# systemctl stop firewalld 一、配置YUM源(不做介绍) 二、安装docker服务 [root@localhost ~]# yum -y install docker [root@localhost ~]# [root@localhost ~]# systemctl start docker 三、下载基础镜像 [root@localhost ~]# docker pull centos 四、重命名镜像名称(两个方式任选其一,若不重命名这跳过次步骤) 说明:重命名后会生成一个新的镜像,将旧镜像删除即可# 命令格式: docker tag 镜像id 仓库:标签 或: docker tag 旧镜像名 新镜像名 [root@localhost ~]# docker tag 470671670cac centos:latest 五、启动镜像 [root@localhost ~]# docker run -it 470671670cac /bin/bash 六、安装基础服务 [root@470671670cac /]# yum -y install vim [root@470671670cac

nginx + uwsgi + debian + django部署

半腔热情 提交于 2020-03-30 03:26:05
准备工作 我使用的不是本机系统,而是运行docker镜像库中的debian系统,因为后面还想研究一下,docker自动化部署相关内容,如果你想直接部署,可以跳过准备工作。 下载docker替换镜像源,因为如果用docker自己的镜像源下载速度会很慢。根据操作系统的不同,大家可以自行百度,mac系统docker桌面版可以在prefrence daemon 的registry mirrors: docker images 查看本地镜像 docker search debian 查找debian网络镜像 docker pull debian从第三步的结果中拉取想要的镜像 docker run --name mytest -p 0.0.0.0:8000:8081/tcp -it debian /bin/bash --name 为容器取名字 -p 本机端口:容器端口 -it 交互 docker ps 查看容器 -a 查看所有容器 docker stop container_id 停止容器 Docker rm -v containerid 删除容器 将宿主机的项目拷贝到容器中:docker cp 宿主机中要拷贝的文件名及其路径 容器名:要拷贝到容器里面对应的路径 系统镜像 在容器中,同样要先更新一下debian的下载源 sudo sed -i 's/deb.debian.org/mirrors

Docker入门心得(一)

心不动则不痛 提交于 2020-03-29 15:13:01
前言: 最近辞职找工作,比较有空,所以花了时间学习了一下 docker ,感觉这是一个有意思的技术。 我把最近的学习心得整理了一下,写了这篇文章。由于 docker 我也是初学,没经过项目实践,对它理解不够深刻。虽然文章中的知识点,我都查阅过多篇文章或者亲身实践印证,但尽管如此,还是难免有错误的地方,如果有人发现问题,欢迎留言指正。 docker 是什么: docker 是一种新型的,轻量级的虚拟技术,它把软件及其依赖的环境打包起来,形成一个虚拟的整体,方便开发维护人员进行管理和调度。 docker 与集装箱: docker 的英文意思是 “ 码头工人 ” ,而它的图标是一艘船上面放了许多个集装箱。集装箱是一种运送的货物统一规格的箱子,工人把货物放到集装箱里面,然后将箱子放在船上或车上运输到其它地方。 集团箱运输效率非常高,而且可以很方便地切换运输工具。而 docker 就是 IT 界的集团箱技术,它把各式各样的软件封装成一个 “ 箱子 ” 里面,称之为“镜像”。人们把方便地进行对镜像进行传输,并在各种系统(目前只支持 linux 类)上运行。一个运行状态的镜像称之为“容器”。这些容器提供了统一的管理接口,让人们可以方便地运行,必要时也容易组装在一起。 docker 和虚拟机的区别: 初学 docker ,很多人会有一个疑问: docker 与虚拟机有什么区别?我在这里简单介绍一下

docker镜像

帅比萌擦擦* 提交于 2020-03-28 22:02:38
四、Docker镜像 1、Docker镜像是什么?   容器运行的基础,一层一层的文件系统,运行容器所需的数据 2、镜像组织结构 image 里面是一层层文件系统,叫做 Union FS(联合文件系统)。 这一个链接就够了 3、镜像写时复制 COW   当我们往一个容器添加元素的时候,不直接往当前容器添加,而是先将当前容器进行Copy,复制出一个新的容器,然后新的容器里添加元素,添加完元素之后,再将原容器的引用指向新的容器。 这个链接不错 4、镜像基本操作 基本操作就是镜像的创建,删除,历史,导入导出,写Dockerfile是必须掌握的 这个链接不错,基本上镜像常用的命令都有了 另外可以通过docker api 因为api支持http,所以用这个curl也不许掌握。 5、镜像常用操作实践 这个链接不错,基本上镜像常用的命令都有了 6、私有镜像仓库介绍和搭建[Vmware Harbor] 7、镜像在实际使用注意事项[私人镜像制作引导] 来源: 51CTO 作者: aklaus 链接: https://blog.51cto.com/aklaus/2482443

Docker安装和常用命令

风格不统一 提交于 2020-03-28 13:05:16
1.如果之前已经安装过了,执行: sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine 2.安装依赖的包: sudo yum install -y yum-utils \ device-mapper-persistent-data \ lvm2 3.设置yum源为阿里云: sudo yum-config-manager \ --add-repo \ http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 4.更新 yum 软件源缓存,并安装 docker-ce: sudo yum makecache fast sudo yum install docker-ce 5.查看Docker版本: docker -v 6.启动 Docker CE: sudo systemctl enable docker #开机启动 sudo systemctl start docker #启动 7.建立 docker 用户组:   默认情况下,docker 命令会使用 Unix

docker的网络(5)

若如初见. 提交于 2020-03-28 09:15:33
当 Docker 启动时,会自动在宿主机上创建一个 docker0 虚拟网桥,实际上是Linux 的一个 bridge。 Docker 随机分配一个本地未占用的私有网络(在 RFC1918中定义 )中的一个地址给 docker0接口 。比如典型的 172.17.0.1,掩码为255.255.0.0。 此后启动的容器内的网口也会自动分配一个网段(172.17.0.0/16)的地址。 当创建一个 Docker 容器的时候,同时会创建一个 veth pair 接口(当数据包发送到一个接口时,另外一个接口也可以接收相同的数据包)。这对接口一端在容器内,即 eth0 ;另一端在本地并被挂载到docker0 网桥,名称以 veth 开头(例如 veth4c45933)。通过这种方式,主机可以跟容器通信,容器之间也可以相互通信。Docker 就创建了在主机和所有容器之间的一个虚拟共享网络。 Docker 网络相关的命令 只有在Docker 服务启动的时候才能配置,而且不能马上生效的有: -b BRIDGE or --bridge=BRIDGE --指定容器挂载的网桥 --bip=CIDR            --定制docker0的掩码 -H SOCKET... or --host=SOCKET... --Docker服务端接收命令的通道 --icc=true|false         -

查看Docker容器使用资源情况--docker stats

久未见 提交于 2020-03-28 03:49:07
原文: 查看Docker容器使用资源情况--docker stats 在容器的使用过程中,如果能及时的 掌握容器使用的系统资源,无论对开发还是运维工作都是非常有益的 。幸运的是 docker 自己就提供了这样的命令: docker stats 。 目录 docker stats (不带任何参数选项) docker stats --no-stream (只返回当前的状态) docker stats --no-stream 容器ID/Name (只输出指定的容器) docker stats --format “table {{.Name}}\t{{.CPUPerc}}\t{{.MemUsage}}" (格式化输出的结果) 总结 docker stats (不带任何参数选项) 该命令用来显示容器使用的系统资源。不带任何 参数选项 执行 docker stats 命令: 默认情况下,stats 命令会 每隔 1 秒钟刷新一次输出的内容 直到你按下 ctrl + c。下面是输出的主要内容: [ CONTAINER ]:以短格式显示容器的 ID。 [ CPU % ]:CPU 的使用情况。 [ MEM USAGE / LIMIT ]:当前使用的内存和最大可以使用的内存。 [ MEM % ]:以百分比的形式显示内存使用情况。 [ NET I/O ]:网络 I/O 数据。 [ BLOCK I/O ]

Docker存储技术浅析

瘦欲@ 提交于 2020-03-28 01:17:59
Docker在Linux上支持很多存储驱动,每种驱动都有自己的镜像分层、镜像层共享以及写时复制(CoW)技术的具体实现。 Docker存储基础技术 镜像分层 所有的Docker镜像都起始于一个基础镜像层,当进行修改或增加新的内容时,就会在当前镜像层之上,创建新的镜像层。默认Docker镜像由多个只读层镜像叠加而成,启动容器后,Docker会加载只读镜像层,并再顶部添加一个读写层,并通过写时复制的方式,来写读写层 镜像层共享 多个镜像之间可以并且确实会共享镜像层,这样可以有效节省空间 并提升性能。例如多个centos7的镜像可以共享centos7的基础image,因为基础image大家都一样 写时复制CoW CoW就是copy-on-write,表示只在需要写时才去复制,这个是针对已有文件的修改场景。比如基于一个image启动多个Container,如果为每个Container都去分配一个image一样的文件系统,那么将会占用大量的磁盘空间。而CoW技术可以让所有的容器共享image的文件系统,所有数据都从image中读取,只有当要对文件进行写操作时,才从image里把要写的文件复制到自己的文件系统进行修改。所以无论有多少个容器共享同一个image,所做的写操作都是对从image中复制到自己的文件系统中的复本上进行,并不会修改image的源文件,且多个容器操作同一个文件