Docker_入门

Posted yyjjtt

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Docker_入门相关的知识,希望对你有一定的参考价值。

目录

toc

参考文献

docker中文网

尚硅谷_Docker核心技术(基础篇)

DockerHub

Docker官方文档(英文)

基础理论

技术意义

解决了运行环境和配置问题的软件容器,方便做持续集成并有助于整体发布的容器虚拟化技术

比起传统虚拟机,更轻便,省去系统的硬件资源

技术图片

Docker三大元素

镜像

  • 一个只读的模板,镜像可以用来创造镜像容器,一个镜像创作多个容器

容器

  • 独立运行的一个或一组应用.容器使用镜像创建的运行实例
  • 它可以被启动、开始、停止删除
  • 每个容器都是相互隔离、保证安全的平台

技术图片

仓库

技术图片

标签类似版本号

三者配合

技术图片

Docker架构

技术图片

The Docker daemon

The Docker daemon (dockerd) listens for Docker API requests and manages Docker objects such as images, containers, networks, and volumes. A daemon can also communicate with other daemons to manage Docker services.

The Docker client

The Docker client (docker) is the primary way that many Docker users interact with Docker. When you use commands such as docker run, the client sends these commands to dockerd, which carries them out. The docker command uses the Docker API. The Docker client can communicate with more than one daemon.

Docker registries

A Docker registry stores Docker images. Docker Hub is a public registry that anyone can use, and Docker is configured to look for images on Docker Hub by default. You can even run your own private registry. If you use Docker Datacenter (DDC), it includes Docker Trusted Registry (DTR).

When you use the docker pull or docker run commands, the required images are pulled from your configured registry. When you use the docker push command, your image is pushed to your configured registry.

虚拟机与容器的对比

虚拟机

技术图片

缺点

  • 资源占用多
  • 冗余步骤多
  • 启动慢

LXC

技术图片

两者区别

技术图片

为什么docker比虚拟机快

技术图片

技术图片

如下图所示,docker没有Hypervisor 并且docker不需要重新加载操作系统,全部由Docker Engine完成

技术图片

技术图片

开发/运维(DevOps)

docker所支持的理念,即自己开发自己运维,其意义

技术图片

DockerHub

类似与github,提供Docker镜像仓库

Linux安装Docker

前置

技术图片

查看内核命令

[atguigu@hadoop101 ~]$ uname -r
2.6.32-642.el6.x86_64
[atguigu@hadoop101 ~]$ cat /etc/redhat-release
CentOS release 6.8 (Final)

centos6安装

安装命令

yum install -y epel-release
yum install -y docker-io
#如果第二个命令失败,可尝试
yum install https://get.docker.com/rpm/1.7.1/centos-6/RPMS/x86_64/docker-engine-1.7.1-1.el6.x86_64.rpm

安装后配置文件: /etc/sysconfig/docker

启动

#启动
service docker start
#查看版本
docker version

查看配置是否成功

ps -ef|grep docker

技术图片

入门案例_Hello-world

配置阿里云镜像

默认的docker-hub下载太慢了

阿里云开发者网址

注册,进入控制台

技术图片

进入加速器,查看加速地址

技术图片

修改配置

技术图片

将加速地址复制到other_args

技术图片

重启

service docker restart

运行hello-world

docker run hello-world

技术图片

底层运行原理

docker run的流程

技术图片

技术图片

常用镜像命令

启动服务

#启动
service docker start
#查看版本
docker version

docker images

查看当前主机镜像

Options

技术图片

实例

技术图片

参数说明:

技术图片

docker search

Options

技术图片

实例

技术图片

也可直接在docker hub搜索

技术图片

可以看出排列都相同

docker pull

拉取镜像

不加tag,默认latest,即最新版本

技术图片

docker rmi

删除镜像,一般需要加-f强制删除

Options

技术图片

实例

技术图片

常用容器命令

运行时报错,解决参考:

因kernel too old 而 centos6.8 升级内核

以centos镜像为例

docker pull centos

技术图片

docker run

新建并启动容器

Options

技术图片

经常将i,t一起使用

实例

以交互模式运行一个centos容器,并分配一个伪终端

技术图片

以守护式方式运行,ps查询发现后台没有进程的原因

技术图片

为了让守护式容器不退出,即要安排任务给他

docker run -d centos /bin/sh -c "while true;do echo hello zxyy;sleep 4;done"

docker ps

查看当前docker所有镜像运行的容器

Options

技术图片

实例

技术图片

退出容器

技术图片

docker start

后跟容器名或容器ID,用以打开以前运行过的容器

docker restart

重启容器

实例

技术图片

docker stop

停止容器

docker rm

删除已停止容器,注意rmi表示删除镜像,没有i表示删除容器

一次性删除多个容器

#方法一
docker rm -f ${docker ps -a -q}
#方法二
docker ps -a -q | xargs docker rm

docker logs

docker logs -f -t --tail 3 容器ID

Options

技术图片

实例

技术图片

docker top

docker top 容器ID

查看容器内部进程

docker inspect

docker inspect 容器ID

查看容器内部细节

docker attach / exex

重新进入正在运行的容器

用于退出容器的交互界面后,重新进入

技术图片

exec可以不仅如此容器,直接运行shell命令,如下图

技术图片

docker cp

将容器内的文件拷贝到主机

该命令用于当你想关掉容器,确定保留容器里的部分重要数据

技术图片

实例

技术图片

























































以上是关于Docker_入门的主要内容,如果未能解决你的问题,请参考以下文章

Cg入门19:Fragment shader - 片段级模型动态变色

Docker_入门

Docker_入门

Cg入门20:Fragment shader - 片段级模型动态变色(实现汽车动态换漆)

Docker入门实验 pull_dockerfile_tomcat_简单nginx

推荐net开发cad入门阅读代码片段