关键词:
1、Docker 架构
Docker 使用客户端-服务器 (C/S) 架构模式,使用远程API来管理和创建Docker容器。
Docker 容器通过 Docker 镜像来创建。
容器与镜像的关系类似于面向对象编程中的对象与类。
2、Ubuntu16.04上安装docker比较容易,如果你的Ubuntu系统当中还没有安装docker,输入docker命令后,Ubuntu16.04系统会提示你执行怎样的命令完成docker的安装。
3、docker的使用:基本的docker命令
1)
docker run ubuntu:15.10 /bin/echo "Hello world"
语句参数说明:
docker: Docker 的二进制执行文件。
run:与前面的 docker 组合来运行一个容器。
ubuntu:15.10指定要运行的镜像,Docker首先从本地主机上查找镜像是否存在,如果不存在,Docker 就会从镜像仓库 Docker Hub 下载公共镜像。
/bin/echo "Hello world": 在启动的容器里执行的命令
以上命令完整的意思可以理解为:Docker 以 ubuntu15.10 镜像创建一个新容器,然后在容器里执行 bin/echo "Hello world"语句。
2)容器的启动方式
1>启动命令行交互模式的容器,即为容器启动伪终端。
docker run -i -t ubuntu:15.10 /bin/bash
语句参数说明:
-t:在新容器内指定一个伪终端或终端。
-i:允许你对容器内的标准输入 (STDIN) 进行交互。
此时我们已进入一个 ubuntu15.10系统的容器
我们尝试在容器中运行命令 cat /proc/version和ls分别查看当前系统的版本信息和当前目录下的文件列表
2>启动后台运行模式的容器,使用-d参数
docker run -d ubuntu:15.10 /bin/sh -c "while true; do echo hello world; sleep 1; done"
标题说明:
CONTAINER ID:容器ID
NAMES:自动分配的容器名称
在容器内使用docker logs命令,查看容器内的标准输出
docker logs e403feed3e7a
因为docker在创建并运行容器的时候自动为我们的容器分配了id和名字,所以我们还可以使用以下命令进行日志的查看:
docker logs sad_agnesi
可以看到效果是一样的。
3)容器的停止:使用docker stop 容器id/容器名
1>根据容器id停止指定的容器
docker stop e403feed3e7a
2>根据指定容器名停止容器
docker stop sad_agnesi
4)获取或者拉新镜像
docker pull ubuntu:15.10
5)创建镜像
当我们从docker镜像仓库中下载的镜像不能满足我们的需求时,我们可以通过以下两种方式对镜像进行更改。
1>从已经创建的容器中更新镜像,并且提交这个容器镜像
我们通过需要修改的镜像创建一个容器并运行容器。
docker run -t -i ubuntu:15.10 /bin/bash
在运行的容器伪终端内使用 apt-get update 命令进行应用更新。
在完成操作之后,输入 exit命令来退出这个容器的伪终端。
此时容器ID为748bddac7d6d的容器,是按我们的需求更改了的容器。我们可以通过命令 docker commit来提交容器副本。
参数说明:
-m:提交日志信息
-a:指定镜像作者
748bddac7d6d:指定提交的容器ID
runoob/ubuntu:v2:指定要创建的目标镜像名
我们可以使用 docker images 命令来查看我们的新镜像 runoob/ubuntu:v2,如上图。
使用我们的新镜像 runoob/ubuntu 来启动一个容器:
2>使用 Dockerfile 指令来构建一个新的镜像
我们使用命令 docker build , 从零开始来构建一个新的镜像。为此,我们需要创建一个 Dockerfile 文件,其中包含一组指令来告诉 Docker 如何构建我们的镜像。
执行镜像构建文件:
构建命令参数说明:
-t :指定要创建的目标镜像名
. :Dockerfile 文件所在目录,可以指定Dockerfile 的绝对路径
查看我们新构建的镜像:
以我们新构建的镜像启动一个容器:
从上面看到新镜像已经包含我们创建的用户lfy。
对Dockerfile构建镜像文件说明:
每一个指令都会在镜像上创建一个新的层,每一个指令的前缀都必须是大写的。
第一条FROM,指定从哪个镜像源创建新的镜像。
RUN 指令告诉docker 在镜像内执行命令,安装了什么。
给镜像增加tag标签:使用 docker tag 命令
可以看到,执行docker tag命令是为镜像新添加一个标签,而不是修改原有的标签。
6)镜像的删除:镜像的删除,需要先停止相应镜像的容器的运行,否则会报错。
我们可以使用如下命令查看当前系统已经创建的所有容器,无论其是否在启动运行。
删除容器:
删除指定镜像:
小结:
1>删除容器使用命令docker rm 容器id/容器名;删除镜像使用命令docker rmi 镜像id/镜像名。
2>删除镜像前,需要先删除容器。
7)docker容器的连接
docker run -d -p 4000:22 -p 4001:8080 -p 4002:1521 -p 4003:445 -p 4004:3999 -p 4005:8443 -p 4006:18011 -p 4007:18043 --name usdp40 -h usdp40 --privileged 127.0.0.1:5000/usdp/video:c82 /etc/init.d/after.local
-P :是容器内部端口随机映射到主机的高端口。
-p : 是容器内部端口绑定到指定的主机端口。
docker系列:全面认识docker和基本指令
原文:【Docker系列】:全面认识Docker和基本指令Docker逐渐成为虚拟化技术的佼佼者,Docker技术也是架构师的必备技能。什么是DockerDocker是一个开源的应用容器引擎,基于Go语言,诞生于2013年初,最初发起者是dotCloud公司,开发者可... 查看详情
docker系列:全面认识docker和基本指令
Docker逐渐成为虚拟化技术的佼佼者,Docker技术也是架构师的必备技能。什么是DockerDocker是一个开源的应用容器引擎,基于Go语言,诞生于2013年初,最初发起者是dotCloud公司,开发者可以打包应用到一个轻量级、可移植的容器中,... 查看详情
docker学习一:基本概念
...差错,也欢迎指正! =============系列文章=============1.Docker学习一:基本概念================================= Docker简介(容器化技术) Docker在容器的基础上,进行了进一步的封装, 查看详情
docker学习笔记docker相关概念,基本操作
计划:Docker学习笔记【2】Docker基础操作实操记录,Docker仓库、数据卷,网络基础学习---40注:所有操作在root下执行--1--概念:1、Docker镜像:镜像就是一个只读的模板,用于创建docker容器。Docker提供了简单的机制创建或者更新现... 查看详情
docker学习docker常用基本命令(代码片段)
1、Docker常用命令Docker是一个Client—Server结构的系统,Docker守护进程运行在主机上,通过Socket从客户端访问。DockerServer接收到Docker-client的指令,就会执行这个命令1.1帮助命令#docker版本信息dockerversion#docker系统信息,... 查看详情
docker基本学习
Docker的应用场景:加速本地开发和构建流程,使其更加高效、更加轻量化。本地开发人员可以构建、运行并分享Docker容器。容器可以在开发环境中构建,然后轻松地提交到测试环境中,并最终进入生产环境。能够让独立服务或者... 查看详情
docker学习(05)---基本操作01(代码片段)
常用命令1、命令选项键入docker可以直接查看docker客户端所有的命令选项。root@docker-learn:~#docker可以通过dockercommand--help命令深入的了解指定的Docker命令使用方法。root@docker-learn:~#dockerstats--help2、Docker使用命令获取镜像:... 查看详情
宋宝华:docker最初的2小时(docker从入门到入门)
最初的2小时,你会爱上Docker,对原理和使用流程有个最基本的理解,避免满世界无头苍蝇式找资料。本人反对暴风骤雨式多管齐下狂轰滥炸的学习方式,提倡迭代学习法,就是先知道怎么玩,有个感性认识,再深入学习高级用... 查看详情
docker学习--基本docker命令(代码片段)
1、移除旧的容器dockerrm-fusdp402、拉新镜像dockerpull127.0.0.1:5000/usdp/video:c823、基于镜像,启动运行一个自己的容器dockerrun-d-p4000:22-p4001:8080-p4002:1521-p4003:445-p4004:3999-p4005:8443-p4006:18011-p4007:18043--nameusdp40-hu 查看详情
docker概念及基本用法
Docker概念及基本用法一、本节内容简介本实验中我们初步接触Docker的概念和基本用法。需要依次完成下面几项任务:理解Docker是什么学习如何在Linux上安装Docker学习如何使用DockerHub创建第一个HelloShiyanlou的Docker应用Docker基本的容... 查看详情
docker学习(二)基本命令
1.查看docker镜像dockerimages2.拉取镜像dockerpullxxxxxx为镜像名称3.删除镜像 dockerrmixxx4.停止所有的容器dockerstop$(dockerps-q)5.删除所有的容器dockerrm$(dockerps-a-q)6.查看正在运行的容器dockerps7.查看所有存在的容器dockerps-a8.容器重命名docker... 查看详情
docker-基础使用:安装,启用,基本命令,数据卷
目录:一、认识Docker二、Docker架构三、安装Docker四、启用Docker五、Docker的基本命令六、Docker数据卷七、Docker命令小结(仅看命令可跳到此处)一、认识Docker1、Docker解决依赖兼容问题①将应用的Libs(函数库)、Deps(依赖)、配置... 查看详情
docker学习__基本概念
其他知识点,会在后续学习过程中在做完善。docker分为两个版本:docker-ee企业版(付费)docker-ce社区版(开源免费)docker架构(dockerarchitecture)分为3个部分:docker的客户端(client)docker的服务端(server)docker的守护进程(daemon... 查看详情
docker进阶学习(代码片段)
...、面试笔试题目录虚拟机和容器虚拟机和容器的区别认识Docker什么是DockerDocker的优点Docker的应用场景Docker核心Docker镜像Docker容器Docker仓库扩展问题Docker为什么快?安装D 查看详情
docker学习--基础命令
...http://www.cnblogs.com/lighten/p/6875355.html1.基本命令 搭建好docker环境之后,使用dockerhelp命令查看docker的基本用法:dockerCOMMAND. 目前我们较为常使用的是commands下面的指令,如果使用swarm相关功能会用到managementcommands... 查看详情
docker学习
基本概念:Docker包括三个基本概念: 镜像(Image):特殊的文件系统,提供容器运行时所需的程序、库、资源、配置文件。镜像不包含动态数据,内容在构建后不会被改变。 容器(Container): 容器是镜像运行... 查看详情
docker~学习笔记索引
使用docker也有段时间了,写了不少文章与总结,下面把它整理个目录出来,方便大家去学习与检索!docker~学习笔记索引docker~linux下的部署和基本命令(2017-04-0722:47)docker~docker-machine的介绍(2017-04-1212:02)docker~使用阿里加速器安c... 查看详情
docker~大叔对术语的解释
接触和使用docker已经有1年多了,起初对概念本身理解的不是很好,或者说,没有找到一本比较好的书,在自己的研究下,对docker一些基本的概念有了自己的一些认识和看法,现在分享给正在学习docker的朋友!镜像镜像image,类... 查看详情