Docker安装快速入门

用Docker的logo简单解释就是 一艘货轮上面摆放着许多个集装箱,没用集装箱之前 形状不同 大小不同的各类货物难以摆放,现在将货物都放进集装箱里面,方便了管理与存储。
详细概念参照官网文档
https://docs.docker.com/

Docker分三个部分
镜像:一个静态的模板,无法修改 类似于镜像文件。
容器:用来存储运行镜像的实例,可以读写。
仓库:用来存储docker镜像的,分公有仓库和私有仓库。

话不多说 开始操作
这里我们我们用Centos7 默认配置的网络源安装Docker

[[email protected] yum.repos.d]# yum install docker-io -y
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.cn99.com
 * extras: mirrors.cn99.com
 * updates: mirrors.cn99.com
正在解决依赖关系
--> 正在检查事务
---> 软件包 docker.x86_64.2.1.12.6-68.gitec8512b.el7.centos 将被 安装
--> 正在处理依赖关系 docker-common = 2:1.12.6-68.gitec8512b.el7.centos,它被软件包 2:docker-1.12.6-68.gitec8512b.el7.centos.x86_64 需要
--> 正在处理依赖关系 docker-client = 2:1.12.6-68.gitec8512b.el7.centos,它被软件包 2:docker-1.12.6-68.gitec8512b.el7.centos.x86_64 需要
......
已安装:
  docker.x86_64 2:1.12.6-68.gitec8512b.el7.centos                                                                                                               

作为依赖被安装:
  audit-libs-python.x86_64 0:2.7.6-3.el7                                 checkpolicy.x86_64 0:2.5-4.el7                                  container-selinux.noarc
  container-storage-setup.noarch 0:0.8.0-3.git1d27ecf.el7                docker-client.x86_64 2:1.12.6-68.gitec8512b.el7.centos          docker-common.x86_64 2:
  libcgroup.x86_64 0:0.41-13.el7                                         libseccomp.x86_64 0:2.3.1-3.el7                                 libsemanage-python.x86_
  oci-register-machine.x86_64 1:0-3.13.gitcd1e331.el7                    oci-systemd-hook.x86_64 1:0.1.14-1.git1ba44c6.el7               oci-umount.x86_64 2:2.3
  policycoreutils-python.x86_64 0:2.5-17.1.el7                           python-IPy.noarch 0:0.75-6.el7                                  setools-libs.x86_64 0:3
  skopeo-containers.x86_64 1:0.1.26-2.dev.git2e8377a.el7.centos          yajl.x86_64 0:2.0.4-4.el7                                      

作为依赖被升级:
  audit.x86_64 0:2.7.6-3.el7                   audit-libs.x86_64 0:2.7.6-3.el7                   libsemanage.x86_64 0:2.5-8.el7                   policycoreutil

完毕!
[[email protected] yum.repos.d]#

重启一下Docker 查看一下运行状态 一切正常

[[email protected] yum.repos.d]# systemctl restart docker.service
[[email protected] yum.repos.d]# systemctl status docker
● docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; disabled; vendor preset: disabled)
   Active: active (running) since 日 2018-01-28 10:06:39 CST; 6s ago
     Docs: http://docs.docker.com
 Main PID: 12399 (dockerd-current)
   CGroup: /system.slice/docker.service
           ├─12399 /usr/bin/dockerd-current --add-runtime docker-runc=/usr/libexec/docker/docker-runc-current --default-runtime=docker-runc --exec-opt nativ...
           └─12403 /usr/bin/docker-containerd-current -l unix:///var/run/docker/libcontainerd/docker-containerd.sock --shim docker-containerd-shim --metrics...

1月 28 10:06:38 localhost.localdomain dockerd-current[12399]: time="2018-01-28T10:06:38.509321705+08:00" level=info msg="devmapper: Successfully cre...3-base"
1月 28 10:06:38 localhost.localdomain dockerd-current[12399]: time="2018-01-28T10:06:38.617007435+08:00" level=info msg="Graph migration to content-...econds"
1月 28 10:06:38 localhost.localdomain dockerd-current[12399]: time="2018-01-28T10:06:38.618435419+08:00" level=info msg="Loading containers: start."
1月 28 10:06:38 localhost.localdomain dockerd-current[12399]: time="2018-01-28T10:06:38.652764572+08:00" level=info msg="Firewalld running: true"
1月 28 10:06:38 localhost.localdomain dockerd-current[12399]: time="2018-01-28T10:06:38.880818461+08:00" level=info msg="Default bridge (docker0) is...ddress"
1月 28 10:06:39 localhost.localdomain dockerd-current[12399]: time="2018-01-28T10:06:39.074971244+08:00" level=info msg="Loading containers: done."
1月 28 10:06:39 localhost.localdomain dockerd-current[12399]: time="2018-01-28T10:06:39.075173483+08:00" level=info msg="Daemon has completed initialization"
1月 28 10:06:39 localhost.localdomain dockerd-current[12399]: time="2018-01-28T10:06:39.075193331+08:00" level=info msg="Docker daemon" commit="ec85...=1.12.6
1月 28 10:06:39 localhost.localdomain systemd[1]: Started Docker Application Container Engine.
1月 28 10:06:39 localhost.localdomain dockerd-current[12399]: time="2018-01-28T10:06:39.103609290+08:00" level=info msg="API listen on /var/run/docker.sock"
Hint: Some lines were ellipsized, use -l to show in full.
[[email protected] yum.repos.d]# 

docker管理命令:

container   管理容器
  image       管理镜像
  network     管理网络
命令:
  attach      介入到一个正在运行的容器
  build       根据 Dockerfile 构建一个镜像
  commit      根据容器的更改创建一个新的镜像
  cp          在本地文件系统与容器中复制 文件/文件夹
  create      创建一个新容器
  exec        在容器中执行一条命令
  images      列出镜像
  kill        杀死一个或多个正在运行的容器
  logs        取得容器的日志
  pause       暂停一个或多个容器的所有进程
  ps          列出所有容器
  pull        拉取一个镜像或仓库到 registry
  push        推送一个镜像或仓库到 registry
  rename      重命名一个容器
  restart     重新启动一个或多个容器
  rm          删除一个或多个容器
  rmi         删除一个或多个镜像
  run         在一个新的容器中执行一条命令
  search      在 Docker Hub 中搜索镜像
  start       启动一个或多个已经停止运行的容器
  stats       显示一个容器的实时资源占用
  stop        停止一个或多个正在运行的容器
  tag         为镜像创建一个新的标签
  top         显示一个容器内的所有进程
  unpause     恢复一个或多个容器内所有被暂停的进程

在子命令中还有更多丰富的选项,可以使用 docker COMMAND --help 查看。例如:

docker run --help

现在我们利用docker部署一个nginx服务器
先搜索 nginx镜像

[[email protected] yum.repos.d]# docker search nginx
NAME                                 DESCRIPTION                                                                                            STARS      OFFICIAL   AUTOMATED
nginx                                                  Official build of Nginx.                        6959      [OK]
jwilder/nginx-proxy                                    Automated Nginx reverse proxy for docker c...   1134                 [OK]
richarvey/nginx-php-fpm                                Container running Nginx + PHP-FPM capable ...   452                  [OK]

下载nginx镜像

[[email protected] yum.repos.d]# docker pull nginx
Using default tag: latest
Trying to pull repository docker.io/library/nginx ...
latest: Pulling from docker.io/library/nginx
e7bb522d92ff: Pull complete
6edc05228666: Pull complete
cd866a17e81f: Pull complete
Digest: sha256:285b49d42c703fdf257d1e2422765c4ba9d3e37768d6ea83d7fe2043dad6e63d
[[email protected] yum.repos.d]# 

查看一下镜像仓库

[[email protected] yum.repos.d]#  docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
docker.io/nginx     latest              3f8a4339aadd        4 weeks ago         108.5 MB
[[email protected] yum.repos.d]#

用我们下载的nginx镜像创立一个容器,并把容器内的80端口映射到centos7的8080端口

[[email protected] yum.repos.d]# docker run --name nginx -d -p 8080:80 nginx

客户端访问一下IP加端口

一个简单的部署实例就做完了

原文地址:http://blog.51cto.com/12804405/2065916

时间: 2024-08-08 04:00:38

Docker安装快速入门的相关文章

Docker实践快速入门

1. 安装docker * 在CentOS7上安装:yum install -y docker * 在CentOS6上安装: wget http://mirrors.hustunique.com/epel/6/x86_64/epel-release-6-8.noarch.rpm && rpm -ivh epel-release-6-8.noarch.rpm yum install -y docker-io * 在Windows上安装: 下载boot2docker, 安装完之后,点击桌面上的

Docker三十分钟快速入门(下)

一.背景 上篇文章我们进行了Docker的快速入门,基本命令的讲解,以及简单的实战,那么本篇我们就来实战一个真实的项目,看看怎么在产线上来通过容器技术来运行我们的项目,来达到学会容器间通信以及docker-compose学习以及docker网络模型学习的目的. 二.项目描述 创建Todo应用,功能很简单,实现创建Task关联Task分类,以及更新Task的完成状态的功能. 项目运行后的主界面如下: 三.启动项目 因为是使用git管理的maven java项目,所以需要首先在服务器上安装java.

Docker快速入门(二)

上篇文章<Docker快速入门(一)>介绍了docker的基本概念和image的相关操作,本篇将进一步介绍image,容器和Dockerfile. 1 image文件 (1)Docker 把应用程序及其依赖,打包在 image 文件里面.(2)只有通过这个image文件,才能生成 Docker 容器.image 文件可以看作是容器的模板.Docker 根据 image 文件生成容器的实例.(3)同一个 image 文件,可以生成多个同时运行的容器实例.(4)image 是二进制文件.实际开发中

Docker快速入门——Docker简介

Docker快速入门--Docker简介 一.Docker简介 1.Docker简介 Docker是Docker Inc公司开源的一项基于Ubuntu LXC技术构建的应用容器引擎,源代码托管在GitHub上,完全基于go语言开发并遵守Apache2.0协议开源.Docker可以让开发者打包应用以及依赖包到一个轻量级.可移植的容器中,然后发布到任何流行的Linux版本机器上,也可以实现虚拟化.Docker容器完全使用沙箱机制,容器相互之间不会有任何接口,并且容器性能开销极低.Docker最初是在

Docker快速入门——Docker-Compose

Docker快速入门--Docker-Compose 一.Docker-Compose简介 1.Docker-Compose简介 Docker-Compose项目是Docker官方的开源项目,负责实现对Docker容器集群的快速编排.Docker-Compose将所管理的容器分为三层,分别是工程(project),服务(service)以及容器(container).Docker-Compose运行目录下的所有文件(docker-compose.yml,extends文件或环境变量文件等)组成一

一文快速入门Docker

Docker提供一种安全.可重复的环境中自动部署软件的方式,拉开了基于与计算平台发展方式的变革序幕.如今Docker在互联网公司使用已经非常普遍.本文用十分钟时间,带你快速入门Docker. Docker是什么 Docker是什么? 官网首页的介绍: Enterprise Container Platform for High-Velocity Innovation. Securely build, share and run any application, anywhere 百度百科告诉我们

云计算学习路线图课件:学Docker容器怎样快速入门?

"云计算"作为未来网络甚至未来计算机行业的发展趋势,得到了广泛重视.越来越多的人想通过学习云计算收获高薪,学习云计算的过程中会接触到Docker容器,这究竟是为什么?如何快速高效的学好Docker容器.进而学好云计算呢? docker就像一个集装箱一样,里面放着自己所需要的应用程序.docker内部使用的是Linux容器技术,并且提供一个完整的文件系统,独立的网络环境. docker 和vm虚拟机的主要区别在于,vm虚拟机启动之前需要制定好资源,例如CPU,内存,硬盘等,这会占用了一些

Node.js【4】简介、安装和配置、快速入门

笔记来自<Node.js开发指南>BYVoid编著 第1章 Node.js简介 Node.js是一个让JavaScript运行在服务端的开发平台,它让JavaScript成为脚本语言世界的一等公民,在服务端堪与PHP.Python.Perl.Ruby平起平坐. Node.js可以作为服务器向用户提供服务,与PHP.Python.RubyonRails相比,它跳过了Apache.Nginx等HTTP服务器,直接面向前端开发. Node.js还可以调用C/C++的代码,这样可以充分利用已有的诸多函

Redis快速入门:安装、配置和操作

本文是有关Redis的系列技术文章之一.在之前的文章中介绍了<Redis快速入门:初识Redis>,对Redis有了一个初步的了解.今天继续为大家介绍Redis如何安装.配置和操作. 系列文章: Redis快速入门:Key-Value存储系统简介 Redis快速入门:选择Key-Value Store Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API.从2010年3月15日起,Redis的开发工作由VMwa