关注程序员的故事,一起用技术改变世界

Docker介绍

Docker 是一个开源的应用容器引擎,基于 Go 语言并遵从 Apache2.0 协议开源。Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。Docker 从 17.03 版本之后分为 CE(Community Edition: 社区版) 和 EE(Enterprise Edition: 企业版),我们用社区版就可以了。

下面的图片比较了 Docker 和传统虚拟化方式的不同之处,可见容器是在操作系统层面上实现虚拟化,直接复用本地主机的操作系统,而传统方式则是在硬件层面实现。

Docker 在如下几个方面具有较大的优势。

  • 更快速的交付和部署

  • 更高效的虚拟化
  • 更轻松的迁移与扩展
  • 更简单的管理

Docker安装方式

第一种:手动安装docker:a.卸载旧版本docker:

yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine

b.安装最新版本docker:

yum install docker-ce docker-ce-cli containerd.io -y

第二种:一键安装docker(使用官网docker脚本安装,设置镜像源为阿里源):

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

Docker测试查看docker是否安装成功,执行命令:

#查看docker是否安装成功docker -v[root@ecs-263f ~]# docker -vDocker version 19.03.11, build 42e35e6

docker常用命令:

#查看docker运行状态[root@localhost local]# systemctl status docker● docker.service - Docker Application Container Engine   Loaded: loaded (/usr/lib/systemd/system/docker.service; disabled; vendor preset: disabled)   Active: inactive (dead)     Docs: https://docs.docker.com#docker启动命令[root@localhost local]# systemctl status docker#docker容器查看命令[root@localhost local]# docker psCONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES#查看所有已经创建的容器[root@ecs-263f ~]# docker ps -aCONTAINER ID        IMAGE                 COMMAND                  CREATED             STATUS              PORTS                                              NAMES02af3882test        nginx:latest          "/docker-entrypoint.…"   13 days ago         Up 3 days           0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp           nginx_1178fc138test        portainer/portainer   "/portainer"             2 weeks ago         Up 3 days           0.0.0.0:32773->8000/tcp, 0.0.0.0:32772->9000/tcp   zentao_29a5eeb0atest        nginx                 "/docker-entrypoint.…"   2 weeks ago         Up 3 days           0.0.0.0:32776->80/tcp                              nginx_255069eb8test        mariadb:10.5.3        "docker-entrypoint.s…"   2 weeks ago         Up 4 days           0.0.0.0:3307->3306/tcp                             db_17b6928b9test        traefik:v2.1.4        "/entrypoint.sh --ap…"   2 weeks ago         Up 3 days           0.0.0.0:90->80/tcp, 0.0.0.0:32771->8080/tcp        zentao_14df5d801test        3c8b3861test          "docker-php-entrypoi…"   2 weeks ago         Up 3 days           0.0.0.0:32775->80/tcp, 0.0.0.0:32774->9000/tcp     php#显示容器使用的系统资源[root@ecs-263f ~]# docker stats db_1CONTAINER ID        NAME                CPU %               MEM USAGE / LIMIT     MEM %               NET I/O             BLOCK I/O           PIDS55069eb8test        db_1         0.01%               214.9MiB / 15.38GiB   1.36%               66.4MB / 100MB      125MB / 54.4MB      31#查看容器的日志[root@ecs-263f ~]# docker logs db_1#重启指定容器docker start db_1(启动)[root@ecs-263f ~]# docker restart db_1

Docker开机自启

[root@localhost ~]# systemctl enable dockerCreated symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.

Docker容器自动启动

#使用在Docker run的时候使用--restart参数来设置。#no - container:不重启#on-failure - container:退出状态非0时重启#always:始终重启docker run -i -t -d --name db_1 --restart=always mariadb:10.5.3

以上就是docker的安装教程与简单使用教程,作为一种新兴的虚拟化方式,Docker 跟传统的虚拟化方式相比具有众多的优势。

linux docker安装_Linux上安装docker的完美教程相关推荐

  1. python2安装_Linux 上安装 appium 的辛酸

    appium 在windows上的安装相对比较简单,但是在linux上的安装相对比较麻烦,所以这里记录一下 总的来说,在linux 环境下安装需要以下几步: 1.安装andriod sdk 2.安装p ...

  2. centos+7.2+linux版本,在Linux Centos 7.2 上安装指定版本Docker。

    相关资料链接: 先清空下"历史" yum remove docker \ docker-common \ docker-selinux \ docker-engine 安装必要的包 ...

  3. 云计算--Docker在Ubuntu上安装

    Docker在Ubuntu上安装 Ubuntu系统要求 Docker支持的Ubuntu操作系统: Ubuntu Hirsute 21.04 Ubuntu Groovy 20.10 Ubuntu Dis ...

  4. Linux redhat 5.4上安装MYDNS

    Linux redhat 5.4上安装MYDNS 一. 1,MYDNS 的简介: MyDNS是一个UNIX平台下的免费DNS服务器端软件.它被设计成直接从数据库中读取DNS记录软件,并且修改记录后也可 ...

  5. 红旗linux系统可以运行QQ吗,如何在红旗Linux系统redflag6.0上安装QQ

    qq是国内最大的社交聊天软件之一,因此许多linux用户也想在自己的电脑上安装qq,不过,他们却不知道该怎么在自己的电脑安装qq.现在就让小编来教大家如何在红旗linux系统redflag6.0上安装 ...

  6. kali linux 磁盘,在硬盘上安装Kali Linux

    Kali Linux安装条件 在计算机上安装Kali Linux的过程非常简单. 首先,您需要兼容的计算机硬件. Kali支持i386,amd64和ARM(armel和armhf)平台. 最低硬件要求 ...

  7. 红帽 linux 安装gns3,在Arch Linux和Manjaro系统上安装GNS3的方法

    本文介绍在Arch Linux和Manjaro系统上安装GNS3的方法,适合所有基于Arch Linux的发行版.我们还将为Gns3创建一个启动器,适用于KDE.Gnome 3和Linux上其它桌面环 ...

  8. 红旗linux系统qq,如何在红旗Linux系统redflag6.0上安装QQ

    QQ是国内最大的社交聊天软件之一,因此许多Linux用户也想在自己的电脑上安装QQ,不过,他们却不知道该怎么在自己的电脑安装QQ.现在就让小编来教大家如何在红旗Linux系统redflag6.0上安装 ...

  9. Redhat Linux 9/AS 3上安装清华紫光拼音输入法智能五笔全拼等

    Redhat Linux 9/AS 3上安装清华紫光拼音输入法智能五笔全拼等 版权声明:本文可以任意转载,转载时请保持文章的完整性,并以超链接形式标明文章原始出处和作者信息及本声明. [url]htt ...

最新文章

  1. OKR的本质是什么?目标如何制定?
  2. python画曲线图例-如何使用python画曲线图
  3. 网页按钮跳转位置_阻止safari从网页跳转至app
  4. SAP Spartacus 3.3.0 版本服务器端渲染的优化
  5. sql SET DATEFORMAT对日期处理的影响
  6. SHA-256 加密原理
  7. java objective-c,Objective-C基础教程学习笔记(附录)从Java转向Objective-C
  8. shell脚本特殊变量与变量子串相关知识
  9. 莫烦python学习笔记之numpy.array,dtype,empty,zeros,ones,arrange,linspace
  10. 常用MIME类型(Flv,Mp4的mime类型设置)(转载)
  11. iOS - OC NSFileManager 文件管理
  12. 阿里巴巴集团CEO张勇和校招生面对面,畅聊阿里的技术路线
  13. 宋宝华:当Linux内核遭遇鲨鱼—kernelshark
  14. oracle优化之driving_site
  15. java有什么岗位_java开发有哪些岗位?相关岗位及工作职责
  16. 深圳市 华为技能证书补贴攻略
  17. linux访问局域网共享,精解局域网访问及共享(三)
  18. JAVA计算机毕业设计书籍点评网站源码+系统+mysql数据库+lw文档
  19. 类型数组HTML5 中的新数组
  20. LACP负载分担配置

热门文章

  1. JVM(三)——对象的访问定位
  2. SpringMVC Mybatis Shiro RestTemplate的实现客户端无状态验证及访问控制【转】
  3. linux shell脚本备份mysql数据库
  4. 【虚拟化实战】存储设计之一存储类型
  5. Spring中BeanFactory和FactoryBean的区别
  6. Tomcat安装与环境变量的配置-Linux+windows
  7. 微信视频开发jquery mobile
  8. 风变python怎么样_Python取代Excel?风变编程带你了解如何更好地学Python!
  9. python docker自动化_「docker实战篇」python的docker爬虫技术-移动自动化控制工具appium工具(17)...
  10. 计算机无法播放,如果无法播放计算机mp4文件怎么办?