专栏首页老付的网络博客docker 入门与安装

docker 入门与安装

Docker的概念

什么是Docker

Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。开发者在笔记本上编译测试通过的容器可以批量地在生产环境中部署,包括VMs(虚拟机)、bare metal、OpenStack 集群和其他的基础应用平台。

Docker的优势

对于开发和运维来说,把程序部署到生产的时候,最常见的问题是环境问题,由于服务器单机的差异,可能会导致问题比较众多烦杂。对于这个问题,docker的优势就可以体现出来了。我们假设一个系统有四个要素组成:应用app,app依赖的类库,配置文件和系统环境。

  • 对于传统的部署

我们需要对以上个因素进行单独的考虑和配置,如果集群则面临了大量的工作量,如果使用虚拟机的快照,也过于庞大

  • docker部署 docker本身是跨平台,镜像中包含应用程序中所需要的类库和环境,一次生成多处运行。即使不跨平台的语言,只要能够运行在docker容器中,就能够实现跨平台。

Docker 安装与使用

Docker的安装

对于docker的安装可以使用以下命令:

  $ sudo apt-get install docker

安装完成后,执行

  $ docker version

执行结果如下:

  Client version: 1.6.2
  Client API version: 1.18
  Go version (client): go1.5.1
  Git commit (client): 7c8fca2
  OS/Arch (client): linux/amd64

  Server version: 1.6.2
  Server API version: 1.18
  Go version (server): go1.5.1
  Git commit (server): 7c8fca2
  OS/Arch (server): linux/amd64

如果有以上结果说明docker 已经安装成功

碰到问题: connect: permission denied. Are you trying to connect to a TLS-enabled daemon without TLS

原因: 是因为当前的用户没有权限导致,把当前用户添加到docker用户组即可

解决办法: 执行以下命令:

  $ sudo gpasswd -a ${USER} docker   # 把当前用户添加到docker组

  $ groups     # 检查没有没添加到当前用户组

  $ sudo service docker.io restart  # 重启

Docker的使用

对于docker的使用可以参考官方文档 ,也可以通过执行docker –help命令来查看常用命令的使用。下面演示如何从服务器上面下载项目,docker有一个官方的镜像服务器,但访问速度非常慢,个人建议使用网易镜像速度比较快。

1. 使用docker pull 下载hello-world项目

    $ docker pull hub.c.163.com/library/hello-world:latest

2. 使用docker images查看本地有哪些镜像

 REPOSITORY                          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
  hub.c.163.com/library/hello-world   latest              7a5a2d73abce        4 months ago        1.84 kB

3. docker run 运行镜像

  $ docker run hub.c.163.com/library/hello-world

运行结果:

4. 删除docker容器

$ docker rmi -f hub.c.163.com/library/hello-world

(本文完)

作者:老付 如果觉得对您有帮助,可以下方的订阅,或者选择右侧捐赠作者,如果有问题,请在捐赠后咨询,谢谢合作 如有任何知识产权、版权问题或理论错误,还请指正。 自由转载-非商用-非衍生-保持署名,请遵循:创意共享3.0许可证 交流请加群113249828: 点击加群 或发我邮件 laofu_online@163.com

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Java中实现顺序IO

    对于磁盘的读写分为两种模式,顺序IO和随机IO。 随机IO存在一个寻址的过程,所以效率比较低。而顺序IO,相当于有一个物理索引,在读取的时候不需要寻找地址,效率...

    付威
  • Netty01--- Netty实现简单通信

    这个Demo的功能是客户端向服务端发送一个Hello Netty的消息,然后服务端又把消息返回给客户端

    付威
  • 消息中间件--03. Kafka文件存储机制

    假定我们在指定的一个集群中有两个Broker,有2个topic(testTopic,testTopic1),每个topic的都有2个partition,在不同的...

    付威
  • Centos7使用docker搭建Sentry

      Sentry 是一款基于 Django实现的错误日志收集和聚合的平台,它是 Python 实现的,但是其日志监控功能却不局限于python,对诸如 Node...

    用户3773636
  • docker离线部署 - jumpserver

    2019年7月17日 ⋅ 浏览量: 4    ...

    以谁为师
  • Centos docker卸载

    问天丶天问
  • 定制一个 Docker 版 Jenkins 镜像

    对于如何备份 Jenkins 除了用 Jenkins 插件来定期备份或是定期将配置文件上传到 Git,最近尝试了另外一种方式:就是把 Jenkins 安装到 D...

    Peter Shen
  • 生成多平台docker镜像

    工作中需要在一台x86服务器从写好的golang程序源码生成linux/amd64、linux/arm64 docker镜像,查阅了下资料,这里记录一下操作过程...

    jeremyxu
  • Docker 入门

    1、centos7上安装docker sudo yum install -y yum-utils device-mapper-persistent-data ...

    用户5760343
  • Linux下docker安装教程(设置使用权限)

    Docker的基础是Linux容器(LXC)等技术,(LXC系统提供工具来管理容器,具有先进的网络和存储支持,还有最小容器操作系统模版的广泛选择)。

    聚优云惠

扫码关注云+社区

领取腾讯云代金券