Docker入门学习(3)----Docker架构与常用命令总结
来源:互联网 发布:cmd ftp 指定端口 编辑:程序博客网 时间:2024/06/06 01:06
1、Docker架构详解
首先我们要知道,Docker是使用的是客户端服务器架构,其实我们从docker version这个命令也可以看出来:
root@ubuntu:~# docker versionClient: Version: 1.13.1 API version: 1.26 Go version: go1.8.3 Git commit: 092cba3 Built: Thu Oct 12 22:34:44 2017 OS/Arch: linux/amd64Server: Version: 1.13.1 API version: 1.26 (minimum version 1.12) Go version: go1.8.3 Git commit: 092cba3 Built: Thu Oct 12 22:34:44 2017 OS/Arch: linux/amd64 Experimental: false
如上所示:结果代码中分为客户端和服务器端
我们看一下之前的上面的那一张docker架构图,里面Client就是我们所说的客户端了,DOCKER_HOST其实就可以说成服务器端,在host之中,有一个docker daemon是docker的守护进程。最右边的Registry就是一个网上的共有镜像仓库,比如我们说的Docker hub。
Docker客户端和Docker守护进程交流,Docker守护进程做非常重要的工作,构建,运行和分发你的Docker容器。Docker客户端和守护进程可以运行在同样的系统上,或者是你可以连接一个Docker客户端到一个远程Docker守护进程中。Docker客户端和守护进程通过sockets或通过RESTful API进行沟通交流。
我们再来看一下这三个概念:
==Docker镜像==
一个Docker镜像是一个只读的模板。例如,一个镜像可以包含一个带有Apache和你的web应用的Ubuntu操作系统。镜像被用来创建Docker容器。Docker提供了一个简单的方式来构建一个新的镜像或更新一个存在的镜像,或者是你可以下载其他人已经创建的Docker镜像。Docker镜像是Docker的build组件。
==Docker注册处==
Docker注册处保留镜像。这些是来自于上传或下载镜像的公共或私密存储的地方。公共的Docker注册处又Docker Hub提供。他提供了一个你可以使用的已存镜像的集合。这些可以是你自己创建的或其他人创建的你可以使用的镜像。Docker注册处是Docker的distribution组件。
==Docker容器==
Docker容器和目录是相似的。一个Docker容器可以保存任何东西,这些东西是运行一个应用程序所必须的。每一个容器都是从一个Docker镜像中创建的。Docker容器可以被运行,开启,停止,移动和删除。每一个容器都是一个分离的和安全的应用平台。Docker容器是Docker的运行组件。
在了解了以上概念之后,我们通过具体的命令来查看Docker架构这个抽象的概念。
2、一些常用命令
<1.>docker search 命令 + 镜像名字,来查看官方镜像仓库中的镜像
例如:
<2.>docker pull + 镜像名字,拉取镜像
例如:
docker pull ubuntu:16.04 //拉取ubuntu 16.04版本的镜像
<3.>docker images查看当前拉取的所有镜像
<4.>docker run 命令 启动容器
启动容器有两种方式,一种是基于镜像新建一个容器并启动,另外一个是将在终止状态( stopped )的容器重新启动。
因为 Docker 的容器实在太轻量级了,很多时候用户都是随时删除和新创建容器。
新建并运行容器:
例如,下面的命令输出一个 “Hello World”,之后终止容器。
$ docker run ubuntu:14.04 /bin/echo 'Hello world'Hello world
这跟在本地直接执行 /bin/echo ‘hello world’ 几乎感觉不出任何区别。
下面的命令则启动一个 bash 终端,允许用户进行交互。
$ docker run -t -i ubuntu:14.04 /bin/bashroot@af8bae53bdd3:/#
其中, -t 选项让Docker分配一个伪终端(pseudo-tty)并绑定到容器的标准输入上, -i
则让容器的标准输入保持打开。
在交互模式下,用户可以通过所创建的终端来输入命令,例如:
root@af8bae53bdd3:/# pwd/root@af8bae53bdd3:/# lsbin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var
让容器后台运行:-d参数
docker run -d nginx
我们进入容器可以使用exec参数:
root@ubuntu:~# docker run -d nginxd41c5b18b6b8c03bc680e2c420e7ec53ed5a526fca2b0e3df7da411dea1f7a38root@ubuntu:~# docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMESd41c5b18b6b8 nginx "nginx -g 'daemon ..." 5 seconds ago Up 3 seconds 80/tcp inspiring_jenningsroot@ubuntu:~# docker exec -it d4 bashroot@d41c5b18b6b8:/# lsbin dev home lib64 mnt proc run srv tmp varboot etc lib media opt root sbin sys usr
<5.>docker ps 或者docker container ls 来查看正在运行的容器信息:
root@ubuntu:~# docker container lsCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMESefebe0da3df1 nginx "nginx -g 'daemon ..." 3 hours ago Up 3 hours 0.0.0.0:8080->80/tcp dazzling_teslaroot@ubuntu:~# docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMESefebe0da3df1 nginx "nginx -g 'daemon ..." 3 hours ago Up 3 hours 0.0.0.0:8080->80/tcp dazzling_tesla
<6.>终止容器:
docker container stop 容器id
<7.>查看终止状态的容器信息
docker ps -a或者docker container ls -a
<8.>启动终止的容器,重启正在运行的容器:
docker container start docker container restart
- Docker入门学习(3)----Docker架构与常用命令总结
- Docker学习总结(9)——Docker常用命令
- docker常用命令(总结)
- docker学习总结之常用命令
- Docker学习与总结
- Docker学习笔记(2)-- Docker常用命令
- Docker学习总结(3)——Docker实战之入门以及Dockerfile(三)
- Docker学习(二)Docker架构
- Docker学习笔记--Docker常用命令
- Docker 入门学习笔记二:常用命令
- Docker入门及常用命令
- Docker 常用命令总结 [五]
- docker 开发常用命令总结
- docker常用命令总结
- Docker常用命令总结
- docker 常用命令(自己总结)
- Docker 常用命令 总结
- Docker常用命令总结
- gpu排序
- BootLoader跑飞了
- 简练不简单的java
- document.documentElement.scrollTop、document.body.scrollTop等兼容性
- 简单MVP-Retrofit-Rxjava-OKhttp
- Docker入门学习(3)----Docker架构与常用命令总结
- andriod——Retrofit+Fresco+MVP+RxJAVA列表展示商品点击跳转此详情页面
- Web Service笔记(五):CXF开发RESTful风格的Web Service
- Red Hat Enterprise Linux 6安装samba服务
- 三个数排序
- Android中的一些开源库、开源工具
- Consul 原理和使用简介
- Ubuntu 16.04 Tensorflow-gpu 1.4.1+GTX1080 +pycharm 环境搭建(附高清无码大图)
- okHttp的一个工具类