Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。开发者在笔记本上编译测试通过的容器可以批量地在生产环境中部署,包括VMs(虚拟机)、bare metal、OpenStack 集群和其他的基础应用平台。本文将简单介绍Docker在linux操作系统上的安装与卸载过程,简要介绍Docker虚拟化容器的使用,本文可作为Docker入门教程使用,安装效果均为本人亲测。  

一、安装Docker

  本文将以Windows作为基础开发环境,为了更快捷的使用Linux操作系统,我将使用Oracle的VirtualBox虚拟机运行Centos7操作系统,然后再虚拟机上安装相应的的Docker容器,如果电脑上已经安装好了VMware虚拟机,也可以在VMware上运行的Centos7操作系统上安装Docker容器,安装时将采用远程连接软件SmarTTY或XShell6。

1、Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker 。通过 uname -r 命令查看你当前的内核版本

 $ uname -r

2、使用 root 权限登录 Centos。确保 yum 包更新到最新。

$ sudo yum update

3、卸载旧版本(如果安装过旧版本的话)

$ sudo yum remove docker  docker-common docker-selinux docker-engine

4、安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的

$ sudo yum install -y yum-utils device-mapper-persistent-data lvm2

5、设置yum源

$ sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

6、可以查看所有仓库中所有docker版本,并选择特定版本安装

$ yum list docker-ce --showduplicates | sort -r

7、安装docker

$ sudo yum install docker-ce  #由于repo中默认只开启stable仓库,故这里安装的是最新稳定版17.12.0
$ sudo yum install <FQPN> # 例如:sudo yum install docker-ce-17.12.0.ce 

8、启动并加入开机启动

$ sudo systemctl start docker
$ sudo systemctl enable docker

9、验证安装是否成功(有client和service两部分表示docker安装启动都成功了)

$ docker version

二、Docker的基本使用

  Docker虚拟化容器类是与虚拟机,但比虚拟机轻量很多,其优势在于启动速度快,软件安装方便快捷,而且可以在一个Docker容器中同时运行多个相同或不同的软件,软件之间互相隔离,通过外部端口的隐射实现软件对外的访问,具体操作如下。

1、在Centos7上启动Docker,使用systemctl start docker命令启动容器,使用systemctl stop docker命令停止容器

2、从Docker远程镜像库查询并安装所需镜像,使用docker search mysql命令即可查询与mysql相关的镜像,使用docker pull mysql:5.7命令可完成镜像的下载和安装操作,所需镜像的具体版本信息可通过浏览器访问Docker官方镜像库查询,当然也可以不指定镜像版本,直接按默认版本安装。

3、查看并启动本地已安装的镜像,使用docker images命令可查看本地所有镜像,首次启动镜像需要使用docker run -p3306:3306 --name mysql_1 -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7命令完成端口映射和重命名,下次启动该mysql镜像时使用docker start mysql_1命令即可,使用docker stop mysql_1停止已运行的镜像容器。为了能够使外部的sql管理工具能够访问到这个mysql,我们需要将该Centos7操作系统的防火墙关闭或开放3306端口。

4、查看已经部署的镜像容器及相关容器操作,使用docker ps命令可查看当前运行的镜像,使用docker ps -a命令可查看当前所有的镜像容器,使用docker rm mysql_1可完成已创建容器的删除,使用docker logs mysql_1命令可查看当前镜像的启动及运行日志。

5、修改远程镜像厂库地址,使用linux的vim编辑器直接操作daemo.json文件即可,vi /etc/docker/daemon.json

三、卸载Docker

1、查询安装过的包

$ yum list installed | grep docker 

2、删除安装的软件包

$ yum -y remove docker-ce.x86_64
$ yum -y remove docker-ce-cli.x86_64

3、删除镜像/容器等

$ rm -rf /var/lib/docker

Centos7环境下Docker容器的安装与卸载的更多相关文章

  1. Docker基础:VMware虚拟机Centos7环境下docker安装及使用

    1.docker简介 2.docker安装 3.卸载docker 4.阿里云镜像加速 5.docker的常用命令 5.1 帮助命令 5.2 镜像命令 5.3 容器命令 5.4 后台启动命令 5.5 查 ...

  2. centos7环境下mysql5.7的安装与配置

    最近无事闲来折腾虚拟机,以前都是折腾云服务器,现在自己捣捣.看到mysql的教程蛮好的,准备做个笔记.原文来自mysql5.7的安装与配置(centos7环境) 第一步:下载mysql [root@M ...

  3. centos7环境下mysql5.7的安装与配置(免安装版)

    最近无事闲来折腾虚拟机,以前都是折腾云服务器,现在自己捣捣.看到mysql的教程蛮好的,准备做个笔记.原文来自mysql5.7的安装与配置(centos7环境) 第一步:下载mysql ? 1 [ro ...

  4. 在win8.1 64位环境下有关Oracle的安装和卸载

    1,Oracle安装 3 注意:在win8.1环境下安装64位的oracle客户端,注意配置是1g的 2.Oracle的卸载:http://jingyan.baidu.com/article/f7ff ...

  5. centos7.7下docker与k8s安装(DevOps三)

    1.系统配置 centos7.7 docker 1.13.1 centos7下安装docker:https://www.cnblogs.com/pu20065226/p/10536744.html 2 ...

  6. Xshell终端连接CentOS7.0下Docker容器中的MySql镜像后无法键入中文问题

    首先在宿主机输入env 查看LANG 或者 locale 查看 LANG 发现本地使用的字符集是: zh_CN.UTF-8 然后执行 docker exec -it mysql bash 进入dock ...

  7. Linux学习总结(21)——CentOS7环境下FTP服务器的安装和配置

    1. 安装vsftpd #安装vsftpd yum install -y vsftpd #设置开机启动 systemctl enable vsftpd.service # 重启 service vsf ...

  8. centos7系统下 docker 环境搭建

    运行环境: VMware Workstation Pro 在虚拟机中安装centos7系统, 选择最小安装, 网络连接方式选择的桥接(与宿主机在同一IP段)centos7一定要安装64位, docke ...

  9. Hyperledger fablic 1.0 在centos7环境下的安装与部署和动态增加节点

    Hyperledger fablic 1.0 在centos7环境下的安装与部署和动态增加节点 一.安装docker 执行代码如下: curl -sSL https://get.daocloud.io ...

随机推荐

  1. 开源!js实现微信/QQ直接跳转到支付宝APP打开口令领红包!附:demo

    最近支付宝的领红包可真是刷爆了各个微信群啊,满群都是支付宝口令. 可是这样推广可不是办法,又要复制又要打开支付宝又要点领取,太麻烦了. 于是乎,提出了一个疑问!是否可以在微信里面点一个链接然后直接打开 ...

  2. vue 2.x 的 v-bind 指令的 .prop 事件修饰符详解

    vue 官方文档对 .prop 修饰符的解释是: 使用例子: 那么,具体的原理和用法是什么呢?这要从 html 的 DOM node 说起. 在 html 标签里,我们可以定义各种 attribute ...

  3. SpringMVC @ResponseBody返回中文乱码

    SpringMVC的@ResponseBody返回中文乱码的原因是SpringMVC默认处理的字符集是ISO-8859-1, 在Spring的org.springframework.http.conv ...

  4. C#获取实体类属性名和值

    遍历获得一个实体类的所有属性名,以及该类的所有属性的值 //先定义一个类: public class User { public string name { get; set; } public st ...

  5. ajax-php跨域请求

    php: function __construct(){ // 指定允许其他域名访问 header("Access-Control-Allow-Origin: *"); heade ...

  6. Mybatis框架学习1:入门

    一框架介绍 1.Mybatis介绍 ​ MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google c ...

  7. __declspec(dllexport)的使用

    1. 用法 在 VS 的“预编译”选项里定义_EXPORTING宏 #ifdef _EXPORTING #define API_DECLSPEC __declspec(dllexport) #else ...

  8. Spring AOP增强(Advice)

    Sring AOP通过PointCut来指定在那些类的那些方法上织入横切逻辑,通过Advice来指定在切点上具体做什么事情.如方法前做什么,方法后做什么,抛出异常做什么. Spring中有两种方式定义 ...

  9. 装机、做系统必备:秒懂MBR和GPT分区表____转载网络

    装机.做系统必备:秒懂MBR和GPT分区表 科技美学 2016-10-17 16:36:23 阅读(3835) 评论(4) 很多网友询问MBR和GPT的问题,涉及到硬盘操作系统的安装,其实除了MBR和 ...

  10. LC 954. Array of Doubled Pairs

    Given an array of integers A with even length, return true if and only if it is possible to reorder ...