小而精的 Docker 项目,为什么要使用 Docker? Docker 容器
前言
为什么要使用 Docker?
- Docker 容器的启动在秒级
- Docker 对系统资源利用率高,一台主机上可以同时运行数千个 Docker 容器。
- Docker 基本不消耗系统资源,使得运行在 Docker 里面的应用的性能很高。
相比于传统的虚拟化技术,Docker 有哪些优势?
- 更快速的支付和部署:开发者可以使用一个标准的镜像来构建一套开发容器,开发完成之后,运维人员可以直接使用这个容器来部署代码。
- 更高效的虚拟化:Docker 容器的运行不需要额外的 Hypervisor 支持,它是内核级的虚拟化,因此可以实现更高的性能和效。
- 更轻松的迁移和扩展:Docker 容器几乎可以在任意的平台上运行,包括物理机、虚拟机、公有云、私有云、个人电脑、服务器等。
- 更简单的管理:使用 Docker,只需要小小的修改,就可以替代以往大量的更新工作。所有的修改都以增量的方式被分发和更新,从而实现自动化并且高效的管理。
接下来,我们开始 Docker 的学习之旅。
1. Docker 安装
由于 APT 官方库里的 Docker 版本可能比较旧,所以先卸载可能存在的旧版本:
sudo apt-get remove docker docker-engine docker-ce docker.io
更新 APT 包索引:
sudo apt-get update
安装以下包以使apt可以通过HTTPS使用存储库(repository)
sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common
添加 Docker 官方的 GPG 密钥:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
使用下面的命令来设置 stable 存储库:
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
再更新一下 APT 包索引:
sudo apt-get update
安装最新版本的 Docker CE:
sudo apt-get install -y docker-ce
2. 验证 Docker 安装是否成功
查看 Docker 服务是否启动:
systemctl status docker
root@ubuntu:/home/hadoop/workspace/compose/composeapp# systemctl status docker
docker.service - Docker Application Container Engine
Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2019-10-03 12:25:14 PDT; 2 days ago
Docs: https://docs.docker.com
Main PID: 1436 (dockerd)
Tasks: 27
CGroup: /system.slice/docker.service
├─ 1436 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
└─42652 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 2345 -container-ip 172.17.0.3 -container-port 12345
若未启动,则启动 Docker 服务:
systemctl start docker
运行经典的 Hello world:
docker run hello-world
3. 获取 Docker 镜像
镜像是一个模板,运行镜像便可得到 Docker 容器,可以从镜像服务器上获取做好的镜像, 使用 docker pull 命令来获取需要的镜像。Docker Hub 上已经有很多构建好的镜像,我们可以直接使用,在制作镜像之前,有必要搜索一下看是否已经有人共享了相关的镜像,减少制作成本。通过 docker search 实现搜索,docker pull 拉取镜像。
搜素镜像
搜索ubuntu镜像
docker search ubuntu
获取镜像
docker pull ubuntu
查看本地镜像
docker images
如果 Docker Hub 中没有自己中意的镜像,怎么办呢?当然就是自己制作镜像了,接下来介绍制作镜像的两种方式。
4. 创建自己的镜像
常见的创建镜像的方式有两种。
使用容器的快照制作镜像
小而精的 Docker 项目,为什么要使用 Docker? Docker 容器的更多相关文章
- docker开启2376端口CA认证及IDEA中一键部署docker项目
嘿,大家好,今天更新的内容是docker开启2376端口CA认证及IDEA中一键部署docker项目... 先看效果 我们可以通过idea一键部署docker项目,还以通过idea的控制台实时查看容器 ...
- SpringBoot项目部署初体验【Docker】
前言 一个微服务项目,小到几个模块,大到十几二十几个模块,每个模块都是单独的SpringBoot工程,这么多模块的部署,部署成本真的很高,而且每个服务的部署,都是手动部署,打成war或者jar ?,一 ...
- Docker 实战(3)- 搭建 Gitlab 容器并上传本地项目代码
如果你还想从头学起 Docker,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1870863.html 搭建 Gitlab 容器 搜索 ...
- Docker项目demo
Docker数据持久化 4.1 Volume (1)创建mysql数据库的container (2)查看volume (3)具体查看该volume docker volume inspect 485 ...
- windows环境30分钟从0开始快速搭建第一个docker项目(带数据库交互)
前言 小白直接上手 docker 构建我们的第一个项目,简单粗暴,后续各种概念边写边了解,各种概念性的内容就不展开,没了解过的点击 Docker 教程 进行初步了解. Docker 是一个开源的应用 ...
- 如何使用windows版Docker并在IntelliJ IDEA使用Docker运行Spring Cloud项目
如何使用windows版Docker并在IntelliJ IDEA使用Docker运行Spring Cloud项目 #1:前提准备 1.1 首先请确认你的电脑是windows10专业版或企业版,只有这 ...
- node项目自动化部署--基于Jenkins,Docker,Github(1)安装Jenkins
前言 每次项目代码更新后都要重新部署,如果只有一台服务器还好. 但是如果是分布式系统,动不动就很多台服务器,所以代码的自动部署就显得十分重要了. 这里用几篇文章来记录一下如何使用Jenkins,Doc ...
- docker项目ssl 安全证书的种种
一,证书挂着宿主的nginx上 这个很简单,只需要修改宿主nginx的配置文件即可 server { ssl default; server_name www.abc.com; #项目域名 ssl_c ...
- 使用nginx实现一个主机部署多域名指向不同docker项目
1,安装 docker yum install docker 使用Docker 中国加速器 vim /etc/docker/daemon.json 添加下面代码 { "registry-m ...
随机推荐
- go内建方法 append copy delete
package mainimport "fmt"func main() { testAppend() testCopy() testDelete()}func testAppend ...
- java抓取东方财富股票数据(附源码)
背景 前段时间给朋友写了一个自动抓取同花顺股票数据的程序,不少人觉得不错. 这几天后台有粉丝给我留言让我也抓一下东方财富的数据,说东方财富的数据特别难抓,我还真不一定能搞得定. 本来我是一个德艺双磬且 ...
- Activity去掉标题不成功的解决方法
在设置Activity去掉标题的时候遇到的问题,记录一下. 一般会有以下两种方式: 1.Activity中设置 this.requestWindowFeature(Window.FEATURE_NO_ ...
- poj1050 To the Max(降维dp)
To the Max Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 49351 Accepted: 26142 Desc ...
- 2017年暑假ACM集训日志
20170710: hdu1074,hdu1087,hdu1114,hdu1159,hdu1160,hdu1171,hdu1176,hdu1010,hdu1203 20170711: hdu1231, ...
- Deepin v15.11驱动安装问题
最近想用Linux跑深度学习,试了好几个发行版,最终选择了Deepin v15.11,但由于配置比较新,它不能兼容很多驱动,还得自己装,以下是我失败N次后得到的经验: 电脑配置 配置如下: 型号:DE ...
- 看完这篇 final、finally 和 finalize 和面试官扯皮就没问题了
我把自己以往的文章汇总成为了 Github ,欢迎各位大佬 star https://github.com/crisxuan/bestJavaer 已提交此篇文章 final 是 Java 中的关键字 ...
- linux系统软件安装及软件包管理
软件包管理 1 RPM软件包管理 1.1 RPM软件包简介: RPM(Red Hat Package Manager,Red Hat软件包管理器)是一种开放的软件包管理系统,按照GPL条款发行,可 ...
- xshell连接windows10子系统ubuntu
修改端口 cd /etc/ssh#备份sudo cp sshd_config sshd_config.baksudo vim sshd_config修改sshd_config Port 2233 #修 ...
- 面试小问题——Object中有哪些常用方法?
一.equals方法 Object类中的equals方法用于检测一个对象是否等于另外一个对象.Java语言规范要求equals方法具有下面的特性: (1)自反性:对于任何非空引用x,x.equals( ...