-
Proxmox LXC 容器安装docker
2019-11-29 09:38:52Proxmox 的LXC容器安装docker的方法,限制条件,只能在unbuntu容器中安装,centos的容器测试不成功。 -
docker容器内开启22 ssh_PVE部署LXC运行docker
2020-12-30 07:23:25PVE部署Ubuntu20.04 LXC容器用于安装docker,LXC部署完成后可以进行如下操作。1、PVE打开LXC的嵌套,不然运行docker会报错 https://lala.im/6793.htmlLXC需要勾选“无特权的容器”在创建完成后需要到“选项-签名”下...PVE部署Ubuntu20.04 LXC容器用于安装docker,LXC部署完成后可以进行如下操作。
1、PVE打开LXC的嵌套,不然运行docker会报错 https://lala.im/6793.html
- LXC需要勾选“无特权的容器”
- 在创建完成后需要到“选项-签名”下勾选“嵌套”,这个主要是可以使LXC里可以继续运行相关虚拟化工具,比如docker,不然会报错。
2、安装 vim
$ apt install vim
这个主要是用来编辑配置文件的,没办法我习惯了用vim,顺手
3、更新软件源为清华的 https://mirrors.tuna.tsinghua.edu.cn/help/ubuntu/
更改软件源主要是用来更新软件和系统是下载速度更快,不然龟速的更新速度让人抓狂。
- Ubuntu 的软件源配置文件是 /etc/apt/sources.list。将系统自带的该文件做个备份,将该文件替换为下面内容,即可使用 TUNA 的软件源镜像。
$ cp /etc/apt/sources.list /etc/apt/sources.list.bak $ vim /etc/apt/sources.list
# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释 deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse # 预发布软件源,不建议启用 # deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-proposed main restricted universe multiverse # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-proposed main restricted universe multiverse
来自 <https://mirrors.tuna.tsinghua.edu.cn/help/ubuntu/>
- 更新系统软件apt update && apt dist-upgrade
4、安装ssh,或者开启ssh(LXC需要)https://ping.flenny.net/2016/ssh-into-a-proxmox-lxc-container/
安装LXC后系统不允许ssh登录,需要修改下系统配置文件/etc/ssh/sshd_config
- vim /etc/ssh/sshd_config
- 修改 PermitRootLogin 为 PermitRootLogin yes ,有#号的话删除#号。
- Esc :wq 保存退出
- 重启ssh:service ssh restart
- 修改完成后即可用ssh客户端远程登陆该台LXC
5、安装docker https://docs.docker.com/engine/install/ubuntu/
安装docker我是按照官网的流程来的
- 卸载原来的docker
sudo apt-get remove docker docker-engine docker.io containerd runc
- 安装apt-transport-https 等软件包支持https协议的源
$ sudo apt-get update $ sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
- 添加GPG密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
- 验证密钥
sudo apt-key fingerprint 0EBFCD88
- 显示如下就正确了
pub rsa4096 2017-02-22 [SCEA] 9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88 uid [ unknown] Docker Release (CE deb) <docker@docker.com> sub rsa4096 2017-02-22 [S]
- 添加官方软件源
$ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
- 安装docker
$ sudo apt-get update $ sudo apt-get install docker-ce docker-ce-cli containerd.io
- 安装完成后docker就自动启动了并设置好了开机启动
- 普通用户没有docker的运行权限,可以用sudo提权后使用,但是不是很方便,可以通过以下命令讲用户添加到docker组,使用docker就不需要sudo提权了,your-user就是你平时登录的用户。
$ sudo usermod -aG docker your-user
6、更改docker的镜像源加速pull速度。 https://yeasy.gitbook.io/docker_practice/install/mirror
- 对于使用 systemd 的系统(Ubuntu 16.04+、Debian 8+、CentOS 7),请在 /etc/docker/daemon.json 中写入如下内容(如果文件不存在请新建该文件)
$ vim /etc/docker/daemon.json { "registry-mirrors": [ "https://hub-mirror.c.163.com", "https://mirror.baidubce.com" ] }
- Esc :wq 保存退出
- 重启相关服务
$ sudo systemctl daemon-reload $ sudo systemctl restart docker
7、测试下载镜像
$ docker pull ubuntu:20.04
8、列出镜像,-a 列出所有镜像库包括临时文件
$ docker images -a
9、tag 添加镜像标签
$ docker tag ubuntu:latest myubuntu:latest
10、inspect查看镜像的详细信息,-f可以指定显示参数
$ docker inspect ubuntu:20.04
11、history 查看镜像历史,使用--no-trunc完全显示
$ docker history ubuntu:20.04
12、镜像搜索,搜索官方库中的镜像
$ docker search --filter=is-official=true nginx
13、删除镜像,镜像被依赖使用时无法删除,需要停掉容器才能删除
$ docker rmi myubuntu:latest
14、临时运行一个docker ,
$ docker run ubuntu:20.04 echo 'nihao'
15、查看所有容器
$ docker ps -a
16、删除容器,后边参数是ps -a得到的
$ docker rm 46ed70f69
17、然后就能删除对应的镜像了
18、清理镜像-a 清理无用镜像,-f 强制删除镜像不提醒
$ docker image prune -a
-
Linux虚拟化和容器:Virtualbox,KVM,Xen,LXC和Docker
2019-05-09 09:30:15https://www.davidokwii.com/linux-virtualization-and-containers-virtualbox-kvm-xen-lxc-and-docker/ 由于需要在不增加计算成本的情况下设置隔离的应用程序和服务器环境,虚拟化变得非常流行。 虚拟机和管理程序...原文
https://www.davidokwii.com/linux-virtualization-and-containers-virtualbox-kvm-xen-lxc-and-docker/由于需要在不增加计算成本的情况下设置隔离的应用程序和服务器环境,虚拟化变得非常流行。
虚拟机和管理程序
您可以在另一台通常称为主机的计算机内安装一台完整的计算机(称为虚拟机),而不是在每个其他硬件单元上购买和安装服务器。
因此,这种支持这种魔术的软件被称为“管理程序”。 管理程序或虚拟机监视器(VMM)是计算机软件,固件或硬件,用于创建和运行虚拟机〜 维基百科 。
因此,该软件可以在主机的操作系统上运行,也可以像操作系统一样安装在计算机硬盘上。 像操作系统一样安装的那些称为裸机虚拟机管理程序,一个很好的例子是Microsoft Hyper-V或VMware ESX / ESXi。
但是,您可能更熟悉运行主机操作系统的虚拟机管理程序,即托管的虚拟机管理程序。 这些非常容易设置和使用,它们包括; VMware Workstation,VMware Player,VirtualBox,KVM,适用于Mac和QEMU的Parallels Desktop。
我个人使用Vmware Player和大多数虚拟机来在我的个人笔记本电脑上启动一些虚拟机(VM)。
VirtualBox
如果你玩了一段时间的电脑, VirtualBox不需要介绍。 它的开源并归Oracle所有 。
Virtualbox是一个多平台,因为它在Windows,Linux,Macintosh和Solaris主机上运行,并支持来自Windows,Linux系列和Solaris,FreeBSD和DOS等其他客户操作系统。 这才是令人敬畏的原因。 但是,它不包含在主线Linux内核中,因此您必须编译并插入相应的内核模块。
它也非常易于使用,因为它带有一个很酷的直观界面,可用于创建,克隆,快照和销毁虚拟机。 如果您设置开发环境并希望非常容易地隔离Web,数据库和应用程序服务器,则可以使用virtualbox为单个主机上的每个服务器创建Vms。
希望启动Linux开发环境的Windows开发人员总是在Windows操作系统上使用Virtualbox来运行Linux发行版,例如Ubuntu用于LAMP堆栈。
进一步阅读;
KVM
KVM最近在云计算领域掀起了波澜。 KVM本身不执行任何仿真,但它暴露了
/dev/kvm
接口,外部用户空间主机可以通过该接口进行仿真。 QEMU就是这样一个主机,所以你经常会看到KVM被称为KVM/QEMU。来自Red Hat并且已经进入主流Linux,它被许多云提供商使用,如Linode和Digital ocean等。 它主要供企业用户使用,特别是虚拟专用服务器/VPS或云VM提供商,用于向客户提供和销售VPS。
VirtualBox和VMware将安装在大多数具有x86处理器的计算机上,但KVM要求处理器支持Intel-VT或AMD-VT扩展,并且这些扩展在BIOS中启用。 KVM附带VirtManager,这是一个管理VM的工具。 Openstack也使用KVM,它以建立和管理公共云和私有云的云计算平台而闻名。
我在我的机器上安装了一次KVM,但从来没有真正迷上过。 KVM的学习曲线稍微陡峭,文档和支持较少,只能在Linux上运行。
但是,KVM具有高度可扩展性。 它采用先进的安全功能,利用SELinux。 它在虚拟机之间提供MAC(强制访问控制)安全性。 KVM因获得共同的政府和军事安全标准以及允许开放虚拟化国土安全项目而获奖。
进一步阅读;
http://www.linux-kvm.org/
https://en.wikipedia.org/wiki/Kernel-based_Virtual_MachineXEN
另一个传统上与Linux相关的虚拟机管理程序是Xen。 Xen比其他虚拟机管理程序更旧。 它来自XenServer项目,OracleVM或任何数量的操作系统,如CentOS,Suse,Ubuntu和NetBSD,它们都内置了Xen。它目前被云巨头亚马逊AWS用于管理其数百万台Linux服务器。
如果您想深入挖掘,可以在此处找到完整的Hypervisor比较
现在关于上面讨论的Hypervisors的事情是创建的虚拟机需要运行单独的内核实例。 因此,主机操作系统内核可以在与客户机或虚拟机内核完全不同的版本上运行。 这很好,因为您具有完整的应用程序环境隔离和可能更高的安全性。
但是,由于需要具有自己内核的完整操作系统,因此还存在性能瓶颈。
这是Linux容器的用武之地。
LXC/LXD
LXC或Linux容器是基于操作系统的基本操作系统内核的轻量级和可移植操作系统,但同时充当具有自己的文件系统,进程和TCP / IP堆栈的隔离环境。
因此容器不会再次创建整个操作系统或内核。 并且多个容器共享相同的内核,并且每个容器可以被约束为仅使用定义数量的资源,例如CPU,内存和 I/O.
它们可以与FreeBSD上的Solaris Zones或Jails进行比较。 由于没有虚拟化开销,因此它们的性能远远优于虚拟机。 ~ Nedo @ stackoverflow 。
Linux.com将容器列为2016年最佳5代下一代云技术之一。
我主要在AWS或Linode上的远程VPS上使用Linux容器,我对它们的强大程度感到惊讶。 虽然Linux容器不能为您提供Hypervisor创建的VM的全部功能,但它们具有内存和处理器占用空间小的优势。 我已经能够在AWS上的1GB VPN上启动3个LXC,它们都运行得很好。 您无法使用virtualbox或KVM执行此操作。
Ubuntu上的LXC软件包非常棒,因为它可以自动设置主机操作系统和容器之间的网络连接 - 这通常会让新手闯入。
LXD同时也是新的LXC体验,具有直观的用户体验和单一的命令行工具来管理您的容器。 可以通过REST API以透明的方式通过网络管理容器。 它还可以通过与OpenStack集成来进行大规模部署。
管理程序和容器之间的区别
管理程序:基于模拟硬件
容器:关于虚拟化操作子系统(文件系统,网络等)。容器:单核
管理程序:多个内核容器:易于扩展,资源效率更高。
管理程序:需要更多资源且可扩展性更低。vm vs容器
虚拟机包含完整的操作系统和应用程序。 基于虚拟机管理程序的虚拟化是资源密集型的,虚拟机可以占用几GB,取决于操作系统的来宾。
虚拟机使用虚拟机管理程序来共享和管理硬件,而容器共享主机操作系统的内核以访问硬件。
虚拟机有自己的内核,它们不使用和共享主机操作系统的内核,因此它们在深层次上相互隔离。
驻留在同一服务器上的虚拟机可以运行不同的操作系统。 一台虚拟机可以运行Windows,而隔壁的虚拟机可能正在运行Ubuntu。
容器受主机操作系统的约束,同一服务器上的容器使用相同的操作系统。
当虚拟机虚拟化底层硬件时,容器正在虚拟化底层操作系统。
进一步阅读;
https://lwn.net/Articles/531114/
https://lwn.net/Articles/671722/
https://www.docker.com/
https://runc.io/
https://containerd.tools/
https://github.com/coreos/rkt
https://medium.com/flow-ci/introduction-to-containers-concept-pros-and-cons-orchestration-docker-and-other-alternatives-9a2f1b61132cdocker
这可能是虚拟化领域最热门的新手。 Docker主要由开发人员和开发人员使用,它使用LXC容器来更轻松地创建,部署和运行应用程序。 虽然它是最受欢迎的容器技术,但有几种Docker替代品,它们包括; LXC / LXD,Solaris Zones,CoreOS的RKT和BSD Jails。
由dotCloud开发,这是一个平台即服务公司,现在更名为Docker Inc ,Docker已成为开发人员的首选工具,他们希望将应用程序打包成所需的所有部分,例如库和其他依赖关系,并将其作为一个包发布。
通常,开发人员有一个开发环境,用于编写和测试代码 - 通常是在本地计算机或开发服务器上。 然后是一个运行实时应用程序的独立生产服务器。
当应用程序经过测试并准备部署时,代码将被推送到生产服务器。 由于开发和生产环境不同,通常会出现问题。 在生产服务器在另一个操作系统上运行时,在一个操作系统上进行开发和测试甚至是常见的。 这引起了开发人员的许多挫败感。
或者您熟悉您的应用程序在您的计算机上运行但在您朋友的PC上无法运行的情况?
Docker通过允许开发人员将他们的应用程序打包为容器并简单地将容器部署到具有所需配置的生产服务器来解决此问题。
就个人而言,我已经对它进行了测试,但从来没有像LXC那样迷上它。 可能那是因为我是一个系统人员,所以我需要更多的灵活性,我的容器/ VM在我看来LXC比Docker更好。 但这只是一个偏好问题。
我真的没有使用Docker进行开发工作流程的另一个原因是我们在乌干达的互联网链接很慢。 一个基本的docker Image大概可以是300-500MB,并且通过互联网拉动它可以在~1Mbps链路上进行非常缓慢的过程。 如此昂贵的数据计划和缓慢的互联网连接使大多数非洲开发人员远离Docker等工具。
容易出现容器的多云:容器编排
由于可以在单个服务器上安装多个容器,因此最终可能难以管理。这需要容器引擎或容器编排工具,这些工具可以消除管理这些容器的麻烦。 这些工具具有许多独特的服务,用于管理容器的工作负载和跨系统的直接通信。
例子包括;
Amazon ECS
- Amazon EC2容器服务(ECS)支持Docker容器。
Azure容器服务(ACS)
- ACS是Azure Compute资源提供程序,用于创建和管理充当容器主机的虚拟机群集。
CoreOS Fleet( 已弃用 )
- CoreOS fleet将单个计算机聚合到一个资源池中。 服务不是在特定计算机上运行服务,而是提交给车队集群管理器,后者决定应该在哪里运行。
Cloud Foundry的Diego
- Diego是一个自我修复的容器管理系统,它试图在Diego Cells中保持正确数量的实例运行,以避免网络故障和崩溃。
Docker Swarm(现已集成到Docker中)
- Docker带有集群,可以大规模运行应用程序,以及复杂的调度和监控,以构建高可用性和容错服务。
Kubernetes
- Kubernetes,由Google构建,是一个开源系统,用于自动化容器化应用程序的部署,扩展和管理。 它是迄今为止最受欢迎的容器管理工具。
Mesosphere Marathon
- Marathon是Mesosphere数据中心操作系统(DC / OS)和Apache Mesos的生产级容器编排平台。小结
我的预测是,由于容量轻,资源效率高,容器可能很快就会在云空间中取代传统的虚拟机。
希望这篇文章能有助于清除虚拟化技术和流行语的所有疑问。
-
Docker简介及安装 Linux安装Docker Centos安装Docker Ubuntu安装Docker
2020-06-02 14:08:08Docker时Docker.Lnc公司开源的一个基于LXC技术之上搭建的Container容器引擎,源代码托管在Github上,基于Go语言并遵从Apache2.0协议开源。 Docker属于Linux容器的一种封装,提供简单易用的容器使用接口。 Docker将...一、什么是Docker?
Docker时Docker.Lnc公司开源的一个基于LXC技术之上搭建的Container容器引擎,源代码托管在Github上,基于Go语言并遵从Apache2.0协议开源。
Docker属于Linux容器的一种封装,提供简单易用的容器使用接口。
Docker将应用程序与该程序的依赖,打包在一个文件里面。运行这个文件,就会生成一个虚拟容器。程序在这个虚拟容器里运行,就好像在真实的物理机上运行一样。有了Docker,就不用担心环境问题。
总体来说,Docker的接口相当简单,用户可以方便地创建和使用容器,把自己的应用放入容器。容器还可以进行版本管理、复制、分享、修改,就像管理普通的代码一样。
二、Docker的概念
Docker是开发人员和系统管理员使用容器开发、部署和运行应用程序的平台。使用Linux容器来部署应用程序称为集装箱化。使用docker轻松部署应用程序。
集装箱化的优点:
- 灵活:即使是复杂的应用程序也可封装。
- 轻量级:容器利用并共享主机内核。
- 便携式:您可以在本地构建,部署到云上并在任何地方运行。
- 可扩展性:您可以增加和自动分发容器副本。
- 可堆叠:您可以垂直堆叠服务并及时并及时堆叠服务。
三、images和容器
通过运行images启动容器,一个images是一个可执行的包,其中包括运行应用程序所需要的所有内容-代码,运行时,库、环境变量和配置文件。
容器时images运行时示例-当被执行时(即,images状态,或者用户进程)在内存中,可以使用命令查看正在运行容器的列表docker ps,就像在Linux中一样。
四、安装Docker
Ubuntu安装Docker
一、安装docker 方式一
apt install docker.io
二、安装docker方式二
- 卸载旧版本docker
- 全新安装时,无需执行该步骤
apt-get remove docker docker-engine docker.io
- 1.更新apt包索引
apt-get update
- 2.安装以下包以使apt可以通过HTTPS使用存储库(repository)
apt-get -y install apt-transport-https ca-certificates curl software-properties-common
- 3.添加Docker的官方GPG密钥
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
- 3.1添加仓库
add-apt-repository "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
- 4.再更新apt包索引
apt-get update
- 5.安装最新版本的Docker CE
apt-get -y install docker-ce
- 6.查看安装好的Docker
docker version
Centos安装Docker
- 首先清除非官方的Docker软件包
yum -y remove docker docker-common container-selinux
- 安装 yum-utils工具包
yum install -y yum-utils
- 配置阿里云Docker官方的安装源
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
- 配置完毕后更新 系统yum安装源
yum update -y
- 安装最新版本的docker-ce
yum -y install docker-ce
- 安装完成后查看docker版本
docker version Client: Docker Engine - Community Version: 19.03.11 API version: 1.40 Go version: go1.13.10 Git commit: 42e35e61f3 Built: Mon Jun 1 09:13:48 2020 OS/Arch: linux/amd64 Experimental: false Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
- 如果提示你 Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
解决方案
systemctl enable docker # 添加开机启动 systemctl daemon-reload # xxx systemctl restart docker.service # 重启Docker服务 # 再次输入 docker version docker version Client: Docker Engine - Community Version: 19.03.11 API version: 1.40 Go version: go1.13.10 Git commit: 42e35e61f3 Built: Mon Jun 1 09:13:48 2020 OS/Arch: linux/amd64 Experimental: false Server: Docker Engine - Community Engine: Version: 19.03.11 API version: 1.40 (minimum version 1.12) Go version: go1.13.10 Git commit: 42e35e61f3 Built: Mon Jun 1 09:12:26 2020 OS/Arch: linux/amd64 Experimental: false containerd: Version: 1.2.13 GitCommit: 7ad184331fa3e55e52b890ea95e65ba581ae3429 runc: Version: 1.0.0-rc10 GitCommit: dc9208a3303feef5b3839f4323d9beb36df0a9dd docker-init: Version: 0.18.0 GitCommit: fec3683 # 成功!
配置Docker镜像加速器
- 专属镜像加速器 来自阿里云的容器镜像加速服务
- 免费获取专属id 详情请见底部
https://4670ldli.mirror.aliyuncs.com
- 7.修改daemon配置文件 /etc/docker/daemon.json来使用加速器 第一次修改没有这个文件 那么使用以下命令创建并写入
先输入 tee /etc/docker/daemon.json <<-'EOF' 回车 从这 { "registry-mirrors": ["https://4670ldli.mirror.aliyuncs.com"] } EOF 复制到这里
- 8.重启docker
systemctl restart docker
- 9.输入以下查看加速的镜像源
docker info
- 10.安装tomcat 过程缓慢看网速 千万不要中途停止
docker pull tomcat
- 11.查看docker仓库 看看有没有tomcat
docker images
- 11.运行
hello-world
docker run hello-world
输出 Hello from Docker! 即为安装成功!
- 12.运行tomcat
docker run -p 8080:8080 --name -d tomcat #好像用不了 docker run -d --name tomcat -p 8081:8080 tomcat
宿主机端口 8080:容器端口 8080
不加-d为前台运行tomcat 否则为后台运行
前台运行tomcat会阻塞在屏幕上-d为守护态运行 即为不会阻塞在屏幕上 而是在后台运行
附.Docker开启远程访问的权限
- 修改配置文件,打开2375端口
不确定docker.service文件路径的话输入
dpkg -L 软件包名
dpkg -L docker-ce
vim /lib/systemd/system/docker.service
ExecStart=/usr/bin/dockerd -H fd://
把这句话
↑ ↑ ↑
替换成
↓ ↓ ↓
–containerd后边不变ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375
重新加载配置文件和启动:
#重新加载配置 systemctl daemon-reload #重启docker systemctl restart docker
vi编辑器 原样粘贴
先按 Esc 冒号: 输入 set paste 回车再进行粘贴 否则yml格式会错乱
获取阿里云镜像加速器
- 获取地址后 按照上方教程安装即可
完结撒花
作者:yufire © yufirem@vip.qq.com
-
docker_简介及在Linux上安装docker
2020-02-13 17:01:22docker的基础是Linux容器(LXC)等技术,在LXC基础上docker进行了进一步的封装,让用户不需要关心容器的管理,是的操作更加简单。用户使用docker就像使用一个快速快速轻量级的虚拟机一样简单。 ...一、docker概述
docker是一个开源项目,诞生于2013年初。它是基于Google公司推出的go语言实现,docker的目标是实现轻量级的操作系统虚拟化解决方案。docker的基础是Linux容器(LXC)等技术,在LXC基础上docker进行了进一步的封装,让用户不需要关心容器的管理,是的操作更加简单。用户使用docker就像使用一个快速快速轻量级的虚拟机一样简单。
docker的设计思想:
docker的思想来源于集装箱,在一艘大船上可以把货物规整的摆放起来,并且各种各样的货物都被集装箱标准化了,集装箱和集装箱之间不会互相影响。
例如:不同的应用程序可能会有不同的运行环境,比如.net开发的网站和php开发的网站依赖的软件就不一样,如果把他们依赖的软件都安装在一个服务器上就要调试很久,不仅麻烦还可能造成某些冲突。常规来讲,我们也可以在服务器上创建不同的虚拟机来运行不同的应用,但是虚拟机开销比较高,docker可以实现虚拟机隔离应用环境的功能,并且开销比虚拟机更小。
在服务器负载方面,如果你单独开一个虚拟机,那么虚拟机就会占用空闲内存的,docker部署的话,这些内存就会被利用起来。为什么要使用docker?
作为一种新兴的虚拟化方式,docker跟传统的虚拟化方式相比具有更多的优势。首先,docker容器的启动可以在秒级实现;其次,docker对系统资源的利用率很高,一台主机上可以同时运行数千个docker容器。
容器除了运行其中的应用外,基本不消耗额外的系统资源,使得应用的性能很高,同时系统的开销尽量小。具体说来,docker在如下几个方面具有较大优势:
1、更快速的交付和部署
对于开发和运维人员来说,最希望的是一次创建或配置,可以在任何地方正常运行。开发者可以使用一个标准的镜像来构建一套开发容器,开发完成之后,运维人员可以直接使用这个容器来部署代码。docker可以快速构建容器,快速迭代应用程序,并且让整个过程全程可见,使团队中的其他成员更容易理解应用程序是如何创建和工作的。docker容器的启动时间是秒级的,大量节约开发、测试、部署的时间。2、更轻松的迁移和拓展
docker容器几乎可以在任意的平台上运行,包括物理机、虚拟机、公有云、私有云、个人电脑、服务器等。这种兼容性可以让用户把一个应用程序从一个平台直接迁移到另外一个。3、更简单的管理
使用docker,只需要小小的修改,就可以替代以往大量的更新工作。所有的修改都以增量的方式被分发和更新,从而实现自动化并且高效的管理。]二、docker的下载和安装
1、相关网站:
官网:https://www.docker.com
仓库:https://hub.docker.com2、docker安装前提说明
docker支持以下的centOS版本:CentOS7、CentOS6.5及以上版本。
docker运行在CentOS7上,要求系统为64位,系统内核为3.10以上,运行在CentOS6上,要求系统为64位,系统内核版本为2.6.31或更高版本。查看自己的Linux内核版本:uname -r
3、进行docker安装
①确认Linux版本为CentOS7
命令:cat /etc/redhat-release
②yum在线安装gcc相关
命令:
yum -y install gcc
yum -y install gcc-c++③在线安装docker及相关指令
安装:yum install docker
启动:systemctl start docker
查看版本:docker version
安装完毕!④卸载docker
- 先停止docker:systemctl stop docker
- 输入命令进行卸载:yum -y remover docker
- 删除Linux中docker相关文件:rm -rf /var/lib/docker
基础命令说明:
docker images:列表显示当前docker引擎中的所有镜像
docker run -p 8080:80 -d docker.io/nginx:从docker仓库中下载nginx镜像并运行下载nginx镜像命令解析:
run:表示运行某个镜像,变成一个容器。
-p:端口映射
8080:80:8080代表宿主机对外暴露的端口,80代表容器中的nginx服务器使用的端口
-d:表示后台运行
docker.io/nginx:代表要运行哪个镜像,可以改为nginx,docker会从仓库中下载最新的镜像进行运行,也可以改为镜像id。docker pull 镜像名称:从docker仓库中下载nginx镜像
(run表示下载并运行,pull表示只下载镜像。)三、docker镜像加速器配置
由于docker的仓库是在国外,我们在从仓库中拉取镜像服务的时候就非常缓慢,在此,我们可以参考阿里云的镜像加速器配置进行加速。
1、登录阿里云,搜索容器镜像服务。
2、根据操作修改/etc/docker/daemon.json配置文件
3、刷新配置文件并重启docker
-
Proxmox 的 LXC上跑 Docker
2020-05-13 15:06:24Proxmox VE 6.1 基于 LXC 容器环境运行 Docker,配置步骤: 1. LXC 容器不要开启特权模式,否则登陆可能会出现问题(测试时一直登陆失败);...保存配置后,重启 LXC 容器化虚拟机,就能在内部安装和使用 -
mac安装docker_Docker入坑:Docker简介及在Mac下的安装
2021-01-19 10:40:56如果你对一个程序员说:你的代码有bug!他的第一反应是:你的环境是不是有问题,傻X是不是不会用?如果你委婉地说:你这个程序和预期的有点不一致,是不是我的使用方法或环境配置有问题?...在 LXC 的... -
docker实践(1) 在ubuntu15.10里面安装docker
2015-10-31 00:07:57新建一个脚本 内容如下#!/bin/bash sudo apt-get install software-properties-common #增加 add-apt-repository 命令 sudo apt-get install python-...sudo add-apt-repository ppa:dotcloud/lxc-docker #增加一个 -
ubuntu 14.04 安装 docker
2017-09-13 19:57:44可是在安装docker的时候却没有找到好用的文档 所以把自己安装的过程总结如下: 1. 首先我们需要检查自己的内核版本,因为docker采用了LXC,而练LXC在过低版本的Linux上不支持的,所以我们需要先检查我们的内核版本... -
rhel7安装docker
2017-03-11 23:33:43docker是当下最流行的虚拟化容器技术之一,它是基于lxc的一种容器技术,该技术已经非常成熟,而且在实际应用中已经越来越普遍。很多框架都有对docker的支持,包括hadoop,spark,vertx。这里介绍redhat7上如何安装... -
关于在ubuntu server 14.04上安装docker以及git之笔记
2017-01-16 09:46:15关于在ubuntu server 14.04上安装docker以及在docker中安装git的若干纪录 (1). 先安装好ubuntu server 14.04 ,安装服务器的步骤不在此阐述! (2). 在安装好的服务器中安装docker 1.使用命令:sudo apt-... -
centos 安装docker
2018-03-20 00:33:47转载自 CentOS6下docker的安装和使用 Docker是一个开源的应用容器引擎,可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。利用Linux的LXC、AUFS、Go语言、cgroup实现了资源的独立,可以很轻松的... -
Ubuntu14.04安装docker
2016-12-02 18:15:02Docker利用Linux容器(LXC)虚拟化技术提供一份部署环境。Docker目的是创建可移植,可分发给任何的Docker环境中运行。...安装Docker使用apt-get命令:$ apt-get install docker.io启动服务和守护进程$ service... -
虚拟机CentOS安装docker详细教程
2020-09-17 16:25:451.什么是docker: docker是一个开源的应用容器引擎,开发者可以打包自己的应用到...也可以在物理机上安装docker. 1. 前提条件:Docker运行对内核要求比较高,因此一般建议直接在Ubuntu这样的平台运行。但作为一... -
Ubuntu 14.04安装Docker
2015-10-01 12:58:26Docker利用Linux容器(LXC)虚拟化技术提供一份部署环境。Docker目的是创建可移植,可分发给任何的Docker环境中运行。Docker由于是OpenVZ的作品,对内核有一些要求,不要在14.04版本的Ubuntu...安装Docker使... -
centos6.5安装docker
2016-06-06 15:24:26centos6.5安装docker Docker是一个开源的应用容器引擎,可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。利用Linux的LXC、AUFS、Go语言、cgroup实现了资源的独立,可以很轻松的实现文件、... -
Centos7.4快速安装docker-ce
2019-06-20 16:10:58Docker 介绍 Docker的使用已经非常普遍。使用Docker技术+CI CD可以帮助企业快速水平扩展...下面咱就直接开始安装在Centos 安装直接安装docker服务。 第一步 移除服务器上不用的Docker版本 sudo yum remove docker ... -
在 CentOS 6.5 上安装 docker
2014-08-07 17:51:351.1 取消selinux,因为它会干扰lxc的正常功能 sudo vim /etc/selinux/config SELINUX=disabled SELINUXTYPE=targeted 1.2 安装 Fedora EPEL sudo yum install ... -
centos6.4 安装docker
2017-04-09 12:11:13Docker.io 是轻量级的“容器引擎+映像仓库”,在LXC(linux轻量级容器)的基础上构建,可以运行任何应用程序。 docker.io的核心层由以下几个部分组成: 1、可执行程序,“/usr/bin/docker” 2、docker.io网站上有... -
Centos 7安装Docker
2015-07-02 12:38:38简单的说,Docker是一个构建在LXC之上,基于进程容器(Processcontainer)的轻量级VM解决方案。它的初衷是将各种应用程序和他们所依赖的运行环境打包成标准的container/image,进而发布到不同的平台上运行。由此可见... -
在 CentOS 6.4(64位) 安装 docker.io
2019-03-28 08:13:00Docker.io 是轻量级的“容器引擎+映像仓库”,在LXC(linux轻量级容器)的基础上构建,可以运行任何应用程序。 img docker.io的核心层由以下几个部分组成: 1、可执行程序,“/usr/bin/docker” 2、docker.io网站上... -
Docker安装
2019-04-22 20:39:02Docker 项目的目标是实现轻量级的操作系统虚拟化解决方案。 Docker 的基础是 Linux 容器(LXC)等技术。在 LXC 的基础上 Docker 进行了进一步...安装docker (centos7.3) Docker 要求 CentOS 系统的内核版本高于 3.... -
Ubuntu下安装Docker,及Docker的一些常用命令操作
2015-09-16 15:10:421.什么是 Docker Docker 是一个开源项目,...在 LXC 的基础上 Docker 进行了进一步的封装,让用户不需要去关心容器的管理,使得操作更为简便。用户操作 Docker 的容器就像操作一个快速轻量级的虚拟机一样简单。 -
Centos6.7安装docker1.7.1
2017-11-13 16:05:00一、Docker简介 Docker 提供了一个可以运行你的应用程序的封套(envelope),或者说容器。它原本是 dotCloud 启动的一个业余项目,并在前些...它最初是用 Go 语言编写的,它就相当于是加在 LXC(LinuX Containers,... -
Docker学习笔记 — Docker与LXC的区别
2017-06-24 19:26:40在LXC的基础之上,Docker提供了一系列更强的功能。 可移植性 Docker定义了一种新的格式,将应用和其依赖环境全部打包到一个单一对象中,这个对象可以在任何安装有Docker的机器上共享,在任何机器上执行这个... -
linux上yum安装Docker
2018-03-27 22:33:53CentOS6下docker的安装和使用 Docker是一个开源的应用容器引擎,可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。利用Linux的LXC、AUFS、Go语言、cgroup实现了资源的独立,可以很轻松的实现文件... -
4.4 超级账本环境搭建--安装docker,下载Fabric
2018-11-04 10:27:11Fabric使用的docker容器来进行数据存储和服务运行,所以要安装docker。 4.4.1 docker安装 啥是docker:Docker 的基础是 Linux 容器(LXC)等技术。在 LXC 的基础上 Docker 进行了进一步的封装,让用户不需要去关心...
-
社交网络-源码
-
Unity ILRuntime框架设计
-
代码扫描SonarQube-IDEA插件配置
-
项目经理成长之路
-
你需要加仓多少才能减少亏损比例
-
库存控制系统-源码
-
【科技改变生活,区块链改变世界】欧科云链徐明星的区块链密码朋克世界
-
铲斗-源码
-
ReactNative从入门到原理
-
2021 PHP租车系统 毕业设计 毕设源码 源代码使用教程
-
虚幻4引擎基础
-
项目管理工具与方法
-
ArrayList与Vector区别(vector扩容)
-
Jsplumb从入门到实战
-
Unity 热更新技术-ILRuntime
-
为什么有了Dockerregistry还需要Harbor?
-
RecipeApp:with使用Vue.js构建的食谱应用程序-源码
-
【Python-随到随学】 FLask第一周
-
Tecplot360win64_jb51.rar
-
任务-源码