docker从安装到配置和物理机同网段IP

之前用了一段时间研究docker的网络配置,遇到很多问题,写个帖子,记录一下搭建的过程。

本文主要介绍:

1、简单安装docker

2、配置网络

3、一些基本的命令

==============================================================================

一、简单安装docker:

首先物理机的环境是ubuntu14.04.2 LTS,ubuntu 3.16.0-30-generic,注意:内核版本太低是装不了docker的

1、直接apt-get安装docker。

 apt-get install docker.io

如果下载缓慢。。。记得配置一个网络比较好的源。网上有很多资源。我试了几个,我这里比较好用的是163的源。

修改/etc/apt/source.list文件,然后将里面改成如下源即可。记得将之前的备份。

deb http://mirrors.163.com/ubuntu/ trusty main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ trusty-security main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ trusty-updates main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ trusty-proposed main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ trusty-backports main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ trusty main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ trusty-security main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ trusty-updates main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ trusty-proposed main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ trusty-backports main restricted universe multiverse

然后apt-get update 更新源。

2、看看安装是否正常:

docker run hello-world

如果屏幕打印出Hello from Docker!说明运行正常,有时候出错。。。是因为系统时间有问题。。。记得用data -s "2018/8/7 15:00:00"配置一下时间。

3、将镜像安装到docker容器中:

如果网络好的话直接从网上下载镜像。

docker pull ubuntu:14.04

下载太慢的话,考虑一下下载镜像资源,然后在编译一下(在github上有https://github.com/tianon/docker-brew-ubuntu-core/tree/727813ecdf4a3d46bc1fb0bf479cebd76b462fed 不同的镜像,我用的是ubuntu:14.04的镜像。)

将下载好的资源,找到对应的镜像路径编译一下。我是进到资源路径里面(文件路径/trusty 这个目录里面执行的下面命令。)

docker build -t ubuntu:14.04 ./   (./  是Dockerfile所在的目录)

4、用刚才的镜像,创建一个容器:

docker run -i -t --name=test --net=none ubuntu:14.04 /bin/bash

其中参数:-t 在新容器内指定一个伪终端或终端。

                 -i 允许对容器内的标准输入进行交互

                 --name= 给这个容器起个名字

                 --net= 这里我采用的是无网络配置,为了方便下面配置和物理机一个网段

进去之后,ctrl + p + q可以退出来,然后在用 docker attach test 进入到容器中。

到这里,容器已经正常运行了。

===================================================================================

二、配置网络

注意:主要是配置和物理主机同一个网段,局域网其他主机可直接访问容器。

1、修改默认网桥的配置,/etc/network/interfaces 添加桥接配置,

auto docker0
iface docker0 inet static
address 192.168.1.88
netmask 255.255.255.0
gateway 192.168.1.1
bridge_ports eth0
bridge_stp off
dns-nameservers 8.8.8.8 114.114.114.114

2、修改/etc/default/docker文件,添加

DOCKER_OPTS="-b=docker0"

然后重启网络,ifdown -a && ifup -a 查看网桥是否建立成功,如果不成功,重启电脑可以解决这里的网络问题。

3、重启docker,并配用pipework配置网络 然后进到容器中,发现网络已经配置好了。

service docker start
docker start test


wget https://github.com/jpetazzo/pipework/archive/master.zip
unzip master.zip
cp pipework-master/pipework /usr/bin/
chmod +x /usr/bin/pipework

pipework docker0 test 192.168.1.20/[email protected]
           网桥  容器名  想给容器的IP    物理机的IP



docker attach test

=================================================================

三、一些基本命令

docker pull ubuntu:14.04           从网上下载对应的镜像

docker build -t ubuntu:14.04 /目录             解压对应的镜像

docker run -i -t --name=test --net=none ubuntu:14.04 /bin/bash       创建一个容器,以ubuntu:14.04为镜像。名字叫test,采用none的网络方式

docker ps       查看正在运行的容器(加上-a 是查看所有的容器)

docker start CONTAINER_ID     运行指定的容器(ID也可以用name)

docker attach CONTAINER_ID   进到指定的容器里

docker stop CONTAINER_ID  停止一个容器

docker rm CONTAINER_ID 删除一个容器

 

apt-get install bridge-utils   安装brctl

brctl delbr docker0  删除docker网桥

brctl addbr docker_new0  自定义新的网桥

注意:登陆到容器中输入exit直接关闭容器,需要摁ctrl + p + q 退出容器并不关闭。

你可能感兴趣的:(docker从安装到配置和物理机同网段IP)