docker安装和基本操作

Posted fondwang

tags:

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

简介

docker的三个基本概念

  • 镜像(Image)  

    Docker 镜像可以看作是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的一些配置参数(如匿名卷、环境变量、用户等)。

  • 容器(Container)

    容器 (container) 的定义和镜像 (image) 几乎一模一样,是指image的运行时,包含了文件资源(image展开)和系统资源(变成process存在于系统中) 

  • 仓库(Repository)

    Docker 仓库是集中存放镜像文件的场所。

  Docker 使用 C/S 结构,即客户端/服务器体系结构。 Docker 客户端与 Docker 服务器进行交互,Docker服务端负责构建、运行和分发 Docker 镜像。

  Docker 客户端和服务端可以运行在一台机器上,也可以通过 RESTful 、 stock 或网络接口与远程 Docker 服务端进行通信。

  技术图片

 

 

  这张图展示了 Docker 客户端、服务端和 Docker 仓库(即 Docker Hub 和 Docker Cloud ),默认情况下Docker 会在 Docker 中央仓库寻找镜像文件,这种利用仓库管理镜像的设计理念类似于 Git ,当然这个仓库是可以通过修改配置来指定的,甚至我们可以创建我们自己的私有仓库。

Docker 的核心组件包括:

  • Docker Client:

    Docker 客户端。它其实就是 Docker 提供命令行界面 (CLI) 工具,是许多 Docker 用户与 Docker 进行交互的主要方式

  • Docker daemon:

    服务器组件,以 Linux 后台服务的方式运行,是 Docker 最核心的后台进程,我们也把它称为守护进程。它负责响应来自 Docker Client 的请求,然后将这些请求翻译成系统调用完成容器管理操作。

  • Docker Image:

    Docker 镜像可以看作是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的一些配置参数(如匿名卷、环境变量、用户等)。镜像不包含任何动态数据,其内容在构建之后也不会被改变。我们可将 Docker 镜像看成只读模板,通过它可以创建 Docker 容器。

镜像有多种生成方法:

  • 从无到有开始创建镜像
  • 下载并使用别人创建好的现成的镜像
  • 在现有镜像上创建新的镜像
  • Docker Registry

    Docker registry 是存储 docker image 的仓库,它在 docker 生态环境中的位置如下图所示:

    技术图片

  • Docker Container

    Docker 容器就是 Docker 镜像的运行实例,是真正运行项目程序、消耗系统资源、提供服务的地方。

一、安装docker

  Docker要求运行在Centos 7上,要求系统为64位,系统内核版本3.10以上

  1. uname -an 查看当前系统版本

  2. yum -y install docker 下载安装docker

  3. service docker start 启动docker服务

  4. docker version 检查docker是否安装成功.查看docker的版本号,包括客户端、服务端、依赖的Go等

  当看到下图的信息,就是表示本机docker已经安装成功

  技术图片

chkconfig docker on: 加入开机启动

docker info:查看系统(docker)层面信息,包括管理的images, containers数等

二、镜像操作

  创建容器要以镜像为基础,所以先讲下docker镜像操作

1. 查看镜像

  docker images :查看下本地镜像

  docker images -a :  列出所有的images(包含历史)

2. 搜索镜像

  docker search <image>可以指定具体版本进行下载。 如:docker search java -->在docker中搜索java

3. 下载镜像

  docker pull <image> : 下载对应的images

如: docker pull docker.io/nginx 下载nginx

  下载到本地的镜像要比docker Hub上搜索出来的要大,因为下载过程中自动解压了,在查看镜像列表就有了刚才下载的镜像

  列表包含了仓库名版本标签镜像ID创建时间以及所占用的空间

技术图片

4. 容器的使用

# 使用镜像创建容器

1. docker run -i -t sauloal/ubuntu14.04
2. docker run -i -t sauloal/ubuntu14.04 /bin/bash # 创建一个容器,让其中运行 bash 应用,退出后容器关闭
3. docker run -itd --name centos_aways --restart=always centos #创建一个名称centos_aways的容器,自动重启
# --restart参数:always始终重启;on-failure退出状态非0时重启;默认为,no不重启

# 查看容器
docker ps :列出当前所有正在运行的container
docker ps -l :列出最近一次启动的container
docker ps -a :列出所有的container(包含历史,即运行过的container)
docker ps -q :列出最近一次运行的container ID
# 再次启动容器
docker start/stop/restart <container> #:开启/停止/重启container
docker start [container_id] #:再次运行某个container (包括历史container)
#进入正在运行的docker容器
docker exec -it  [container_id]  /bin/bash
docker run -i -t -p <host_port:contain_port> #:映射 HOST 端口到容器,方便外部访问容器内服务,host_port 可以省略,省略表示把 container_port 映射到一个动态端口。

# 删除容器
docker rm <container...> #:删除一个或多个container

docker rm -f container_nginx 容器删除

docker rm `docker ps -a -q` #:删除所有的container

docker ps -a -q | xargs docker rm #:同上, 删除所有的container??????

# 停止容器

docker stop container_nginx 或者是容器的id

docker start 、 docker run 、docker create 的区别

docker run 和 docker create 参数基本一样,docker run 相当于docker create 和 docker start

  docker create:只创建容器。 

  docker start 启动一个已经创建的容器

  docker run 创建容器并后台启动

技术图片

参考: https://blog.csdn.net/deng624796905/article/details/86493330

  https://blog.csdn.net/fgf00/article/details/51893771

以上是关于docker安装和基本操作的主要内容,如果未能解决你的问题,请参考以下文章

Docker删除报错:Error response from daemon: conflict: unable to delete 08b152afcfae (must be forced)(代码片段

Android 插件化VirtualApp 源码分析 ( 目前的 API 现状 | 安装应用源码分析 | 安装按钮执行的操作 | 返回到 HomeActivity 执行的操作 )(代码片段

Docker初级——介绍安装和使用

Docker和pip安装:避免在已安装某些软件包时安装所有软件包

001-docker安装nginxmysql

《Docker 源码分析》全球首发啦!