一、在CentOS7上安装Docker

1. 查看系统版本: 
$ cat /etc/redhat-release 
CentOS Linux release 7.0.1406 (Core)

2. 安装docker 
$ yum install docker 
安装过程中报错: 
Transaction check error: 
file /usr/lib/systemd/system/blk-availability.service from install of device-mapper-7:1.02.107-5.el7_2.2.x86_64 conflicts with file from package lvm2-7:2.02.105-14.el7.x86_64 
file /usr/sbin/blkdeactivate from install of device-mapper-7:1.02.107-5.el7_2.2.x86_64 conflicts with file from package lvm2-7:2.02.105-14.el7.x86_64 
file /usr/share/man/man8/blkdeactivate.8.gz from install of device-mapper-7:1.02.107-5.el7_2.2.x86_64 conflicts with file from package lvm2-7:2.02.105-14.el7.x86_64

解决办法: 
$yum install libdevmapper* -y

再次运行: 
$yum install docker

3.检查安装是否成功 
$docker version 
若输出了 Docker 的版本号,说明安装成功了,可通过以下命令启动 Docker 服务:

4. $service docker start 
一旦 Docker 服务启动完毕,就可以开始使用 Docker 了。

二、使用docker

  1. 使用命令行的工具来检索名字为“tutorial”的镜像 
    $docker search tutorial

  2. 使用docker命令来下载镜像 
    $docker pull learn/tutorial

  3. 查看已下载的镜像 
    $ docker images 
    REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE 
    docker.io/learn/tutorial latest 2d13ac7ee948 3 years ago 128 MB

  4. 在docker容器中运行hello world!

    docker run命令有两个参数,一个是镜像名,一个是要在镜像中运行的命令。 
    $docker run learn/tutorial echo “hello word”

  5. 在容器中安装新的程序(wget命令) 
    $docker run learn/tutorial apt-get install -y wget

  6. 使用docker ps -l命令获得安装完ping命令之后容器的id。然后把这个镜像保存为learn/wget。 
    $ docker ps -l 
    Container ID IMAGE COMMAND CREATED STATUS PORTS NAMES 
    1861c071d861 learn/tutorial “apt-get install -y w” 2 minutes ago Exited (0) 2 minutes ago furious_panini

  7. 保存对容器的修改 
    $ docker commit 1861c071d861 learn/wget 
    ad2245a8acd8014c39ad46b503cc8e74ce4202d9b4b4fdf48596b596b88059b4 
    执行完docker commit命令之后,返回新版本镜像的id号

  8. 运行新的镜像 
    到现在为止,我们已经建立了一个完整的、自成体系的docker环境,并且安装了wget命令在里面。它可以在任何支持docker环境的系统中运行啦!(是不是很神奇呢?)让我们来体验一下吧!

    在新的镜像中运行wget “http://blog.csdn.net/yown” 命令。 
    $docker run learn/wget wget “http://blog.csdn.net/yown

    成功啦! 
    $ docker ps -l 
    CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 
    2e079c9ecac4 learn/wget “wget http://blog.csd” About a minute ago Exited (8) About a minute ago elegant_lumiere

  9. 检查运行中的镜像 
    $docker inspect 2e079c9ecac4

  10. 发布自己的镜像 
    a. 首先在www.docker.com注册账户,登录并在https://cloud.docker.com/repository/list 页面创建learn库

    b. 将刚才我们做的镜像起个新的名字: 
    $docker tag learn/wget:latest yown/learn:latest

    c. 在命令行登录: 
    $docker login

    d. 上传 
    $docker push yown/learn:latest

    Do you really want to push to public registry? [y/n]: y 
    The push refers to a repository [docker.io/yown/learn] (len: 1) 
    ad2245a8acd8: Pushing [=========================> ] 6.482 MB/12.48 MB

至此,整个docker的使用已体验完啦!

CentOS7安装Docker与使用篇的更多相关文章

  1. CentOs7安装docker(第二篇)

    一.Docker的概念: Docker: 镜像:Images 类似于面向对象中的类 容器:Container 类似于面向对象中的对象 它们之间的关系:容器Container通过镜像Images来创建 ...

  2. Centos7安装Docker 基于Dockerfile 搭建httpd运行环境

    Centos7安装Docker 基于Dockerfile 搭建httpd运行环境 docker docker搭建 docker build 本文档完成目标内容如下 使用Docker搭建http服务器一 ...

  3. centos7安装 docker

    centos7安装 docker 切换到 root用户,执行: [root@localhost frinder]# yum install docker已加载插件:fastestmirror, lan ...

  4. 【运维技术】VM虚拟机上使用centos7安装docker启动gogs服务教程【含B站视频教程】

    VM虚拟机上使用centos7安装docker启动gogs服务视频教程 BiliBili视频教程链接飞机票,点我 使用VMware Workstation安装Centos7 MinMal系统 第一步: ...

  5. centos install docker setup centos7 安装docker

    centos7 安装docker 1: 安装必要的一些系统工具sudo yum install -y yum-utils device-mapper-persistent-data lvm2 2: 添 ...

  6. 获取Centos7安装Docker各种姿势(指定版本)(转载)

    Centos7安装docker社区(CE)版 官网指导:https://docs.docker.com/engine/installation/linux/docker-ce/centos/#inst ...

  7. CentOS7安装docker 18.06

    原文:CentOS7安装docker 18.06 一.CentOS Docker 安装 参考docker 官方网站:https://docs.docker.com/install/linux/dock ...

  8. centos7 安装docker(手动和脚本安装)换源 卸载

    centos7 安装docker(手动和脚本安装)换源 卸载 Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker ...

  9. Docker学习笔记(1):CentOS7安装Docker

    Docker是一个基于Go语言实现的开源应用容器引擎,通过对应用组件的封装.分发.部署.运行等生命周期的管理,使程序及其运行环境能够做到"一次封装,到处运行". Docker架构 ...

随机推荐

  1. getsockname()/getpeername()函数第一次被调用得到0.0.0.0结果

    int getsockname(int sockfd, struct sockaddr *addr, socklen_t *addrlen); getsockname() returns the cu ...

  2. python测试开发django-41.crispy-forms设计标签式导航菜单(TabHolder)

    前言 xadmin的详情页面主要是用form_layout布局,学会了完全可以不用写html代码,也能做出很好看的页面. xadmin的html页面是用的Bootstrap3框架设计的,layout布 ...

  3. poj 3071 Football(概率dp)

    id=3071">http://poj.org/problem? id=3071 大致题意:有2^n个足球队分成n组打比赛.给出一个矩阵a[][],a[i][j]表示i队赢得j队的概率 ...

  4. mysql递归查询子类ID查询所有子类

    先来看数据表的结构如下: id  name    parent_id  ---------------------------  1   Home        0  2   About        ...

  5. Java 正则表达式格式化时间显示

    /* * test.java * Version 1.0.0 * Created on 2017年12月16日 * Copyright ReYo.Cn */ package reyo.sdk.util ...

  6. Redis Nosql数据库

              Redis是一个key-value存储系统.和Memcached类似.可是攻克了断电后数据全然丢失的情况.并且她支持很多其它无化的value类型.除了和string外,还支持lis ...

  7. 离线环境下使用二进制方式安装配置Kubernetes集群

    本文环境 Redhat Linux 7.3,操作系统采用的最小安装方式. Kubernetes的版本为 V1.10. Docker版本为18.03.1-ce. etcd 版本为 V3.3.8. 1. ...

  8. Tomcat6和Tomcat7配置SSL通信的比较

    <Tomcat6和Tomcat7配置SSL通信的比较> 作者:chszs,转载需注明.博客主页: http://blog.csdn.net/chszs 在项目开发过程中,尝尝会遇到Tomc ...

  9. 在EntityFramework6中执行SQL语句【转】

    在上一节中我介绍了如何使用EF6对数据库实现CRDU以及事务,我们没有写一句SQL就完成了所有操作.这一节我来介绍一下如何使用在EF6中执行SQL语句. 你可能要问,我用EF不就为了避免写SQL吗?如 ...

  10. Luban 鲁班 图片压缩 MD

    Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...