前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >让Docker20运行在Ubuntu20里的Ubuntu20上

让Docker20运行在Ubuntu20里的Ubuntu20上

作者头像
dhyuan
发布于 2022-05-30 06:29:06
发布于 2022-05-30 06:29:06
85200
代码可运行
举报
文章被收录于专栏:响应式编程响应式编程
运行总次数:0
代码可运行

0) 前提

Ubuntu HOST 已经安装了 KVM 环境并工作良好。

1) 在 Ubuntu KVM HOST 上安装 ansible

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo apt install -y software-properties-common
sudo apt-add-repository --yes --update ppa:ansible/ansible
sudo apt install -y ansible

2) 安装其它相关工具包

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo apt install -y --no-install-recommends \
dnsmasq \
git \
genisoimage \
libguestfs-tools \
libosinfo-bin \
python3-libvirt \
python3-lxml \
qemu-utils \
virtinst

### 3) checkout virt-infra 代码库

这是ansible用于创建host、guest的playbook脚本和设置。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
mkdir ~/devenv_bootstrap

git clone https://github.com/dhyuan/virt-infra-ansible.git
cd virt-infra-ansible
git check -b devenv origin/devenv

cd roles
git clone https://github.com/dhyuan/ansible-role-virt-infra.git
git check -b devenv orign.devenv

4) 确保宿主机上有个网桥的名字与客户机定义文件所用网络名一致。

比如 inventory/ubuntu20Server.yml 中我们定义了网桥网络使用 br0。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
virt_infra_networks:
        - name: br0

5) 使用 ansible 在 ubuntu 宿主机上安装客户机

在http://cloud-images.ubuntu.com/focal/current/focal-server-cloudimg-amd64.img 下载镜像保持到 host 的 /var/lib/libvirt/images 目录。确保 kvmhost 上的/etc/hosts 中没有定义对 ubuntu20Server 的 ip 映射。注意修改ubuntu20Server中的mac避免冲突。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
apt install -y ansible
ansible-playbook --limit kvmhost,ubuntu20Server ./virt-infra.yml

删除已安装guest虚拟机的命令:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ansible-playbook ./virt-infra.yml --limit kvmhost,ubuntu20Server --extra-vars virt_infra_state=undefined

6) 创建完毕,通过 virt-manager 启动客户机。

测试网络的连通性,在 kvmhost 上 ping ubuntu20Server。有问题可以通过 ip 命令查看,进行必要的网卡启动等操作、检查/etc/netplan/....yml 文件、执行 netplan apply 等操作。

7) 下载在 VM 安装 Docker 的脚本,并安装

在 kvmhost 上执行:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ansible-galaxy install \
--roles-path ~/.ansible/roles/ \
git+https://github.com/haxorof/ansible-role-docker-ce.git,3.3.2

ansible-galaxy list

~/devenv_bootstrap/virt-infra-ansible/install_docker.yml 里定义了 ansbile 所用配置。执行以下语句,将在第五步创建的 VM ubuntu20Server 中安装 Docker 20.10.4。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ansible-playbook ./install_docker.yml --limit ubuntu20Server -v --extra-vars docker_version=5:20.10.4~3-0~ubuntu-focal

可以通过 docker_users 参数指定加入 docker group 的用户,使用 ali 镜像下载 docker 安装包:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ansible-playbook ./install_docker.yml \
--limit ubuntu20Server -v \
--extra-vars docker_version=5:20.10.4~3-0~ubuntu-focal \
--extra-vars '{"docker_users": ["devops"] }' \
-e '{"docker_repository_url": {"Ubuntu20": "http://mirrors.aliyun.com/docker-ce/linux/ubuntu/dists/focal/Release"}}'

登录到guest虚机ubuntu20Server验证docker工作正常。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-05-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 响应式编程 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
自动化运维之playbook
****前言**** 前段时间总结了ansible的基本配置与使用,那么说到了ansible的话呢,playbook是必不可少的,playbook在我看来就是一个花花公子-playboy! ---- ****playbook的介绍**** Playbooks are a completely different way to use ansible than in adhoc task execution mode, and are particularly powerful. 顾名思义,playbo
AlicFeng
2018/06/08
1.1K0
一键自动安装Docker
如果我们希望利用 DHCP 服务让这些机器拥有固定的 IP,那么我们这里可以给虚拟机设置 mac 地址。
dhyuan
2022/05/30
1.2K0
Ansible自动化运维配置与应用(结合实例)
注: command模块和shell模块的区别是:shell模块支持“管道符”及脚本。
阿dai学长
2019/04/03
2.8K0
使用 Kubernetes 和 Jenkins 创建一个 CI/CD 流水线
CI/CD 同 DevOps、Agile、Scrum、Kanban、自动化以及其他术语一样,是一个一起被经常提及的专用术语。有时候,它被当做工作流的一部分,但是并没有搞清楚这是什么或者为什么它会被采用。对于年轻的 DevOps 工程师来说,使用 CI/CD 理所当然已经成为了常态,可能他们并没有看到“传统”的软件发布流程而因此不欣赏 CI/CD。
DevOps持续交付
2020/03/17
1.8K3
使用 Kubernetes 和 Jenkins 创建一个 CI/CD 流水线
Ansible 以及 Ansible-playbook介绍
Anasible 是基于Python2-Paramiko 模块开发的自动化维护工具,实现了批量系统配置、部署、运行等功能。Ansible是基于模块工作的,本身不具备批量部署的功能,如果想要实现批量自动化部署,是Ansible自身的各种模块的集合。
jwangkun
2021/12/23
6.2K0
Ansible 以及 Ansible-playbook介绍
ansible 学习笔记
ansible-galaxy 指令用于方便的从https://galaxy.ansible.com/ 站点下载第三方扩展模块,我们可以形象的理解其类似于centos下的yum、python下的pip或easy_install.
全栈程序员站长
2022/07/20
5230
02 . Ansible高级用法(运维开发篇)
ansible是python中的一套模块,系统中的一套自动化工具,可以用作系统管理,自动化命令等任务
iginkgo18
2020/09/27
3.8K0
02 . Ansible高级用法(运维开发篇)
ansible自动化部署工具
Ansible是一种IT自动化工具。它可以配置系统,部署软件以及协调更高级的IT任务,例如持续部署,滚动更新。Ansible适用于管理企业IT基础设施,从具有少数主机的小规模到数千个实例的企业环境。Ansible也是一种简单的自动化语言,可以完美地描述IT应用程序基础结构。
yuezhimi
2020/09/30
2.2K0
ansible自动化部署工具
使用kubeadm创建K8S单控制节点集群
这里的场景是在一台KVM host上创建一个master guest host,三个nodes guest hosts,并组成kubernets集群。如图:
dhyuan
2022/05/30
7450
使用kubeadm创建K8S单控制节点集群
Serverless 工程实践|自建 Apache OpenWhisk 平台
前言:OpenWhisk 是一个开源、无服务器的云平台,可以在运行时容器中通过执行扩展的代码响应各种事件,而无须用户关心相关的基础设施架构。
玖柒的小窝
2021/11/01
3.4K1
Ansible Playbook实战
1.什么是playbook,playbook翻译过来就是“剧本”,那playbook组成如下
江小白
2018/12/12
2.7K1
003.Ansible基础使用
Ansible命令行执行方式有:Ad-Hoc、Ansible-playbook两种,Web方式其官方提供付费产品Tower。Ad-Hoc主要用于临时命令的执行,Ansible-playbook相当于Ad-Hoc的集合,通过一定的规则编排在一起执行。
木二
2019/06/26
1.4K0
003.Ansible基础使用
第七章·自动化运维工具-Ansible roles
-多年互联网运维工作经验,曾负责过大规模集群架构自动化运维管理工作。 -擅长Web集群架构与自动化运维,曾负责国内某大型金融公司运维工作。 -devops项目经理兼DBA。 -开发过一套自动化运维平台(功能如下): 1)整合了各个公有云API,自主创建云主机。 2)ELK自动化收集日志功能。 3)Saltstack自动化运维统一配置管理工具。 4)Git、Jenkins自动化代码上线及自动化测试平台。 5)堡垒机,连接Linux、Windows平台及日志审计。 6)SQL执行及审批流程。 7)慢查询日志分析web界面。
DriverZeng
2022/09/26
8670
第七章·自动化运维工具-Ansible roles
使用 Ansible 工具批量操作虚拟机集群,自动化安装 Docker
ansible 是一个 Python 写的自动化工具,这个工具可以实现集群自动化管理,然后进行一些常用的运维操作。现在的公司很多都是使用的集群部署服务,少则几台虚拟机,多则几百上千台虚拟机,有的时候需要对一个集群或者多个集群集中进行运维操作,那么这个时候,ansible 就可以实现批量操作了。
Hopetree
2022/09/26
8780
使用 Ansible 工具批量操作虚拟机集群,自动化安装 Docker
Ansible-playbook roles用docker容器安装redis主从(学习笔记三十一)
Last stable version: 1.1.2, please update docker
用户5760343
2022/05/13
4900
Ansible-playbook roles用docker容器安装redis主从(学习笔记三十一)
多云数据管理深度实践上 | Ansible安装OpenSDS(All in One)
随着业务的发展数据日益见增,这些数据的可用性随着时间的推移而下降。人们希望通过长期数字保存(LTDP)来保持持久价值的数字信息的可访问和可用性的,以应对过时的软件和硬件,以及精确呈现内容的这些挑战。
DevinGeng
2020/03/04
6340
多云数据管理深度实践上 | Ansible安装OpenSDS(All in One)
自动化运维利器 ansible-入门
ansible 是一款强大的配置管理工具,诣在帮助系统管理员高效率地管理成百上千台主机。设想一个主机是一个士兵,那么有了 ansible ,作为系统管理员的你就是一个将领,你可以通过口头命令,即一次下发一条命令(ansible ad-hoc 模式)方式让一个或一组或全部的士兵按你的指令行事,也可以将多条命令写在纸上(ansible playbook 模式), 需要执行命令时只需要提供这张纸即可。你可以让多个士兵同时做相同或不同的事情,可以方便的让新加入的士兵快速加入已有的兵种队伍,也以快速改变兵种(配置管理),一句话,士兵都严格听你的,你做好命令的设计,ansible 自动帮你发布和执行。
somenzz
2020/12/10
1.7K0
jenkins+ansible+supervisor打造一个web构建发布系统
一步一步用jenkins,ansible,supervisor打造一个web构建发布系统。
菲宇
2019/06/11
1.1K0
jenkins+ansible+supervisor打造一个web构建发布系统
在腾讯云试用Elastic Cloud Enterprise及Enterprise高级功能 一
尽量先熟悉ECE官方文档中的内容。了解大概的结构,以便当我们想进行某些尝试的时候,知道可以在文档的哪些部分找到支持
点火三周
2021/03/20
6.9K0
基于 Jenkins 和 Ansible 打造一个 Web 构建发布系统
本来应该还有Gitlab这一环节的,但是感觉加上,内容会增加很多。所以直接用github上的spring-mvc-showcase项目来做演示。
DevOps时代
2019/10/24
1.6K0
基于 Jenkins 和 Ansible 打造一个 Web 构建发布系统
相关推荐
自动化运维之playbook
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验