centos 安装部署docker与局域网主机相通详细配置

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.有了docker,对于运维和开发都是福音。下面直接上配置:

centos安装docker源:

yum install http://mirrors.yun-idc.com/epel/6/i386/epel-release-6-8.noarch.rpm

安装docker:

yum install -y docker-io

启动docker:

service docker start

如果启动报错的话:

/usr/bin/docker: symbol dm_task_get_info_with_deferred_remove, version Base not defined in file libdevmapper.so.1.02 with link time reference

解决:yum install device-mapper-event-libs

然后再次启动docker即可。

docker可以创建本次仓库,也可以将镜像提交到公有仓库,下面讲创建本地仓库:

创建本地仓库:

docker run -d -p 5000:5000 registry

创建完成启动之后,你会发现 使用docker push无法上传此时:

注意 需要https验证:修改/etc/init.d/docker

增加:

DOCKER_OPTS="--insecure-registry 192.168.1.231:5000"##我的ip为192.168.1.231,根据实际情况修改

将 $exec -d $other_args &>> $logfile &改成$exec -d $DOCKER_OPTS &>> $logfile &

重新启动docker,再次push就OK了

service docker restart

初步搭建就此完成。下面讲多个服务器之间怎么搭建网桥通讯。

注意事项:

1.docker启动容器之后,或默认创建一个网桥,并且会为启动的容器自动分配一个ip,这个时候可以容器和主机是相通的,但是与其他主机是不通的。

要想与其他容器相通,可以自己建立网桥,将物理网卡加入网桥,并且此时启动的容器必须为手动给到ip(pipeword),要不然会导致局域网内不能上网

设置自定义网桥,修改网络配置:

cp /etc/sysconfig/network-scripts/ifcfg-eth1 /etc/sysconfig/network-scripts/ifcfg-br0

vi /etc/sysconfig/network-scripts/ifcfg-br0加入:

DEVICE="br0"

ONBOOT=yes

TYPE="Bridge"

BOOTPROTO=ststic

IPADDR=192.168.1.215

NETMASK=255.255.255.0

GATEWAY=192.168.1.1

DNS=119.6.6.6

DEFROUTE=yes

vi /etc/sysconfig/network-scripts/ifcfg-eth1##将网卡加入网桥

DEVICE=eth0

HWADDR=00:0c:29:a2:9e:53

TYPE=Ethernet

ONBOOT=yes

NM_CONTROLLED=yes

BOOTPROTO=none

BRIDGE=br0

#IPADDR=192.168.1.215

#NETMASK=255.255.255.0

#GATEWAY=192.168.1.1

重新启动 service network restart

删除以前的网桥:##docker0 为你启动容器时候自动创建

ip link set dev docker0 down

brctl delbr docker0

查看网桥:

brctl show##此时可以看见了eth0已经加入到网桥了

启动容器的时候,不要自动分配ip,要不然会导致局域网不能上网 加上--name xxx --net=none

eg: docker run -it --name 123 --net=none centos /bin/bash

使用pipe工具设置静态ip:

git clone https://github.com/jpetazzo/pipework

直接进入pipework目录:

./pipework br0##网桥名称 123##容器名称 192.168.1.175/[email protected]##@后面为网关,此时可以和其他主机相通了

设置时候可能会报错:Object "netns" is unknown, try "ip help"

解决办法:rpm -Uvh https://repos.fedorapeople.org/openstack/EOL/openstack-grizzly/epel-6/iproute-2.6.32-130.el6ost.netns.2.x86_64.rpm

完成之后就可以设置ip了。可以使brctl show可以查看已经多了一个网卡。进入容器可以看到ip已经设置完成

配置ssh登录:

yum install openssh-server -y

mkdir -p /var/run/sshd

/usr/sbin/sshd -D &

修改ssh服务的安全登录配置,取消pam登录限制:

将 session   required  pam_loginuid.so 注释掉即可

mkdir /root/.ssh

cd /root/.ssh

ssh-keygen -t rsa##生产公钥

passwd root

xxx

xxx

最后创建启动脚本

vi /root/run.sh

#!/bin/bash

/usr/sbin/sshd -D

chmod +x /root/run.sh

最后commit镜像即可

启动容器:

docker run -d centos /root/run.sh##ssh服务自动开启,此时可以通过ip和密码登录,安装你想安装的东西,然后commit了。

时间: 2024-10-05 12:28:38

centos 安装部署docker与局域网主机相通详细配置的相关文章

轻轻松松在centos上部署docker服务

首先,因为docker的运行需要linux本身某些组件和内核特性的支持,所以要确保centos的版本大于6,并且内核版本大于2.6.32-431.可以简单的升级centos6到最新版本. sudo yum upgrade 然后安装cgroup sudo yum install libcgroup service cgconfig start #启动croup服务 lssubsys -am 如果安装成功,最后一个命令lssubsys -am会显示所有子系统的挂载点 源码方式安装lxc sudo y

CentOS安装部署Mysql 5.7

CentOS安装部署Mysql 5.7 1. 如果没有安装wget,先安装 yum -y install wget 2. 下载MySQL官方的 Yum Repository wget http://repo.mysql.com/mysql57-community-release-el7-10.noarch.rpm 3. 使用上边的命令我们就下载到了 Yum Repository,之后我们就可以使用 yum 来进行安装了. yum -y install mysql57-community-rele

在centos下部署docker内网私服

Docker内网私服:docker-registry with nginx & ssl on centos docker-registry既然也是软件应用,自然最简单的方法就是使用官方提供的已经部署好的镜像registry.官方文档中也给出了建议,直接运行sudo docker run -p 5000:5000 registry命令.这样确实能启动一个registry服务器,但是所有上传的镜像其实都是由docker容器管理,放在了/var/lib/docker/....某个目录下.而且一旦删除容

Centos 7部署docker环境、基本命令使用及简单实战

Docker是一个开源的应用容器引擎,属于Linux容器的一种封装,是目前最流行的Linux容器解决方案.docker可以为任何应用创建一个轻量级.可移植的容器,然后容器可以运行在任何安装有docker的平台上.Docker 的优势:1.更快速的交付和部署对开发和运维(devop)人员来说,最希望的就是一次创建或配置,可以在任意地方正常运行.开发者可以使用一个标准的镜像来构建一套开发容器,开发完成之后,运维人员可以直接使用这个容器来部署代码. docker 可以快速创建容器,快速迭代应用程序,大

Centos 7部署docker+nginx+keepalived实现高可用web集群

一.体系架构 在Keepalived + Nginx高可用负载均衡架构中,keepalived负责实现High-availability (HA) 功能控制前端机VIP(虚拟网络地址),当有设备发生故障时,热备服务器可以瞬间将VIP自动切换过来,实际运行中体验只有2秒钟切换时间,DNS服务可以负责前端VIP的负载均衡.nginx负责控制后端web服务器的负载均衡,将客户端的请求按照一定的算法转发给后端Real Server处理,而Real Server将响应直接返回给客户端. 二.简单原理 NG

【亲测有效】Centos安装完成docker后启动docker报错docker: unrecognized service的两种解决方案

今天在学习Docker的时候 使用yum install docker安装完后启动不了,报错如下: [[email protected] ~]# service docker start docker: unrecognized service 一直停留在以上步骤,如果有遇到和我一样类似问题的小伙伴可以按照如下方法进行安装,即可安装成功~~ 方法一: 先移除docker [[email protected] ~]# yum remove docker 再移除docker-selinux(如果你之

FastDFS单点在 CentOS 安装部署

关于分布式文件系统FastDFS,在这里不做过多介绍,我们直接开始安装 1.安装 libfastcommon [[email protected] softwares]# yum -y install wget pcre pcre-devel make zlib zlib-devel gcc-c++ libtool  openssl openssl-devel  [[email protected] softwares]# wget https://github.com/happyfish100

centos 7安装部署docker

1.centos 7 在windows下通过vm虚拟机安装centos 7: VMware-workstation-full-10.0.3-1895310 centos 7 2.要求 操作系统的内核版本不能低于3.10 查看内核版本: # uname -r 3.安装 3.1通过yum安装 需要联入互联网 $ dudo yum update 3.1.2加入yum repo $ sudo tee /etc/yum.repos.d/docker.repo <<-'EOF' [dockerrepo]

CentOS安装部署HttpRunnerManager V2.0

HttpRunnerManager V2.0此项目是一个基于HttpRunner的接口自动化测试平台,同时HttpRunner 是一款面向 HTTP(S) 协议的通用测试框架, 只需编写维护一份 YAML/JSON 脚本,即可实现自动化测试.性能测试.线上监控.持续集成等多种测试任务. 新版本主要增加了定时任务,异步执行,报告持久化.日志保存以及数据类型支持,QQ群欢迎提问:628448476. 本文将自行进行安装的步骤进行整理发布. 本文在网络参考一些大神发布文章,同时总结了一些新的问题.