docker服务器搭建?docker服务器配置要求
玩转服务器之Docker篇:10分钟学会搭建 Docker 环境
随着数字化转型的加速,云原生技术的普及和部署需求日益增长。据统计,容器技术在生产环境中的应用占比已接近70%,Docker凭借其轻量、可移植和扩展的特点,极大地提高了环境一致性,避免了生产和测试环境不匹配的问题。本文将引导你10分钟内快速搭建Docker环境,让应用部署变得更加顺畅。
Docker简介
Docker,一个开源的应用容器引擎,基于Go语言,遵循Apache2.0协议,它能将应用及其依赖打包成独立的容器,实现跨平台部署。现在,让我们通过CenTOS 7.6轻量云主机实例,了解如何搭建Docker并运行Nginx服务。
前置准备
在开始之前,请确保你的系统已完成以下准备工作:
设置Docker仓库
首先,安装yum-utils,并使用yum-config-manager配置Docker的官方仓库。
安装Docker
接下来,安装docker-ce及其依赖,安装过程中按提示进行,安装完成后会看到提示"Complete!安装完成"。
启动Docker服务,并运行一个hello-world镜像,确认Docker运行正常,输出应为"Hello from Docker!"。
运行Nginx镜像
执行Pull nginx镜像,然后运行它并将其代理到宿主机的8080端口。如果8080端口未开放,需先在防火墙中开放。访问宿主机IP地址加8080端口,你将看到"Nginx欢迎页面",这表示Docker成功运行了Nginx。
在一个局域网中(没有dhcp服务)用docker搭建一个dhcp服务器
1、使用的镜像
sudo docker pull networkboot/dhcpd
2、测试的局域网拓扑结构如下:h为 DHCP服务器,ovs交换机s1、s2、s3各连着一台等待分配ip地址的主机。
3、h DHCP服务器通过一对暴露于root namespace的veth pair相连,具体操作如下
3.1、生成交换机s1、s2、s3
sudo ovs-vsctl add-br s1sudo ovs-vsctl add-br s2sudo ovs-vsctl add-br s3
3.2、创建veth pair即 v1-v2
sudo ip link add v1 type veth peer name v2
3.3、**up
sudo ip link set dev v1 upsudo ip link set dev v2 up
3.4、给v1配置ip及子网掩码
sudo ifconfig v1 192.168.1.254 netmask 255.255.255.0
3.5、生成DHCP服务器,监听v1,挂载本地data文件夹,data里面中只有dhcpd.conf文件
sudo docker run-it\--rm--net host\--init\--name=dhcpServer1\-v~/emxbook/docker-dhcpd/data:/data\networkboot/dhcpd v1
dhcpd.conf
subnet 192.168.1.0 netmask 255.255.255.0{option routers 192.168.1.1;option subnet-mask 255.255.255.0;option domain-name"emx.local";option domain-name-servers 8.8.8.8;range 192.168.1.2 192.168.1.100;}
3.5、将v2连接到交换机上
sudo ovs-vsctl add-port s1 v2
3.6、交换机s1、s2、s3彼此相连
sudo ovs-vsctl add-port s1 s1p1sudo ovs-vsctl set Interface s1p1 type=patchsudo ovs-vsctl set Interface s1p1 options:peer=s2p1sudo ovs-vsctl add-port s2 s2p1sudo ovs-vsctl set Interface s2p1 type=patchsudo ovs-vsctl set Interface s2p1 options:peer=s1p1sudo ovs-vsctl add-port s1 s1p2sudo ovs-vsctl set Interface s1p2 type=patchsudo ovs-vsctl set Interface s1p2 options:peer=s3p1sudo ovs-vsctl add-port s3 s3p1sudo ovs-vsctl set Interface s3p1 type=patchsudo ovs-vsctl set Interface s3p1 options:peer=s1p2
3.7、创建主机h1、h2、h3,并将其连接到交换机上,其中ubunut:5是添加了基本net-tools、isc-dhcp-client,创建的时候记得使用--cap-add=NET_ADMIN
sudo docker run-itd--network=none--name=h1--cap-add=NET_ADMIN ubuntu:5sudo docker run-itd--network=none--name=h2--cap-add=NET_ADMIN ubuntu:5sudo docker run-itd--network=none--name=h3--cap-add=NET_ADMIN ubuntu:5sudo ovs-docker add-port s1 eth1 h1sudo ovs-docker add-port s2 eth1 h2sudo ovs-docker add-port s3 eth1 h3
3.8、可以使用floot-light控制交换机s1、s2、s3交换机(选择)
sudo ovs-vsctl set-controller s1 tcp:127.0.0.1:6653sudo ovs-vsctl set-controller s2 tcp:127.0.0.1:6653sudo ovs-vsctl set-controller s3 tcp:127.0.0.1:6653
4、使用dhclient eht1向DHCP服务器申请
4.1、申请ip之前
4.2、申请ip(服务器端界面)
4.3申请ip之后,h1(192.168.1.38):
同理,h2(192.168.1.39):
h3(192.168.1.40):
5、测试
5.1、h1 ping h2(192.168.1.39):
5.2、h2 ping h3(192.168.1.40):
6、最后拓扑结构图,ip分配之后的拓扑结构:DHCP服务器(192.168.1.6)、h1(192.168.1.38)、h2(192.168.1.39)、h3(192.168.1.40)
7、代码汇总参考
sudo ovs-vsctl add-br s1sudo ovs-vsctl add-br s2sudo ovs-vsctl add-br s3sudo ip link add v1 type veth peer name v2sudo ip link set dev v1 upsudo ip link set dev v2 upsudo ifconfig v1 192.168.1.6 netmask 255.255.255.0sudo docker run-it\--rm--net host\--init\--name=dhcpServer\-v~/emxbook/docker-dhcpd/data:/data\networkboot/dhcpd v1sudo ovs-vsctl add-port s1 v2sudo ovs-vsctl add-port s1 s1p1sudo ovs-vsctl set Interface s1p1 type=patchsudo ovs-vsctl set Interface s1p1 options:peer=s2p1sudo ovs-vsctl add-port s2 s2p1sudo ovs-vsctl set Interface s2p1 type=patchsudo ovs-vsctl set Interface s2p1 options:peer=s1p1sudo ovs-vsctl add-port s1 s1p2sudo ovs-vsctl set Interface s1p2 type=patchsudo ovs-vsctl set Interface s1p2 options:peer=s3p1sudo ovs-vsctl add-port s3 s3p1sudo ovs-vsctl set Interface s3p1 type=patchsudo ovs-vsctl set Interface s3p1 options:peer=s1p2sudo docker run-itd--network=none--name=h1--cap-add=NET_ADMIN ubuntu:5sudo docker run-itd--network=none--name=h2--cap-add=NET_ADMIN ubuntu:5sudo docker run-itd--network=none--name=h3--cap-add=NET_ADMIN ubuntu:5sudo ovs-docker add-port s1 eth1 h1sudo ovs-docker add-port s2 eth1 h2sudo ovs-docker add-port s3 eth1 h3sudo ovs-vsctl set-controller s1 tcp:127.0.0.1:6653sudo ovs-vsctl set-controller s2 tcp:127.0.0.1:6653sudo ovs-vsctl set-controller s3 tcp:127.0.0.1:6653
基于阿里云服务器安装Docker完整教程(附案例演示)
本文档详细记录了在阿里云服务器上安装和配置Docker以及Docker Compose的过程,适合持续学习的前端开发者使用。
首先,推荐在Linux环境下(如CentOS7)通过yum命令安装Docker,因其相对简单,避免了Windows环境中可能遇到的复杂性和错误。只需运行yum命令,Docker软件包就会被包含在默认的CentOS-Extras源中。
安装完成后,启动Docker服务,并设置为开机启动。测试Docker安装是否成功,只需输入相关命令查看返回的Docker版本信息。由于国内访问Docker官方仓库速度慢,建议将docker源更改为国内镜像地址,以提高下载速度和稳定性。
Docker Compose是为多容器应用管理和编排设计的,通过YAML文件定义相关联的容器。安装Docker后,还需单独安装Docker Compose以利用其功能。本文还列出了Docker常用的一些命令,如拉取镜像、查看容器状态和删除镜像等。
实例演示部分,我们以SpringBoot项目“云收藏”为例,通过下载项目、解压、配置和启动,展示如何使用Docker和Docker Compose进行项目部署。项目启动成功后,可以访问IP地址查看项目首页。