系统 阿里云centos7
内网ip
172.17.188.51
外网ip
59.110.157.77
防火墙关闭
因为服务器资源有限 一台服务器需要部署很多的服务 为了资源隔离所以采用docker容器的方式让各个服务分开
购买的阿里云内存就2G 因为要部署很多应用 所以需要设置下交换分区swap来扩大内存 一般swap的大小为物理内存的2倍 所以我设置为4G
一、查看系统当前的分区情况:
>free -m
>free -m
total used free shared buffers cached
Mem: 438 432 6 0 8 141
-/+ buffers/cache: 282 156
Mem: 438 432 6 0 8 141
-/+ buffers/cache: 282 156
Swap: 0 0 0
二、创建用于交换分区的文件:如果要增加4G大小的交换分区,则命令写法如下,其中的 count 等于想要的块大小
只要建立/home目录就可以了 swap会自动建立
>dd if=/dev/zero of=/home/swap bs=block_size count=number_of_block
dd if=/dev/zero of=/home/swap bs=1024 count=4096000
2048000+0 records in
2048000+0 records out
2097152000 bytes (2.1 GB) copied, 60.4492 seconds, 34.7 MB/s
2048000+0 records out
2097152000 bytes (2.1 GB) copied, 60.4492 seconds, 34.7 MB/s
三、设置交换分区文件:
>mkswap /home/swap
>mkswap /home/swap
四、立即启用交换分区文件:
>swapon /home/swap
>swapon /home/swap
五、若要想使开机时自启用,则需修改文件/etc/fstab中的swap行:
/home/swap swap swap defaults 0 0
/home/swap swap swap defaults 0 0
[root@test ~]# free -m
total used free shared buffers cached
Mem: 438 433 5 0 2
267
-/+ buffers/cache: 163 275
-/+ buffers/cache: 163 275
Swap: 4047 1465 2581
首先安装docker centos7使用yum安装的docker版本为1.12
yum install -y docker
启动docker
service docker start
查看版本
docker -v
Docker version 1.12.6, build 88a4867/1.12.6
设置docker开机启动
[root@blogfroum ~]# chkconfig --level 123456 docker on
首先安装docker的web管理界面 个人比较喜欢shipyard 部署也简单
下载shipyard的镜像
docker pull rethinkdb && docker pull microbox/etcd && docker pull shipyard/docker-proxy && docker pull swarm && docker pull dockerclub/shipyard
查看下载的镜像
[root@blogfroum ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/swarm latest 7ecf8baf8eae 6 weeks ago 15.77 MB
docker.io/rethinkdb latest be24926bde9a 9 weeks ago 182.5 MB
docker.io/dockerclub/shipyard latest 2ac2c13dfa84 17 months ago 61.36 MB
docker.io/shipyard/docker-proxy latest cfee14e5d6f2 20 months ago 9.464 MB
docker.io/microbox/etcd latest 6aef84b9ec5a 2 years ago 17.86 MB
创建存放脚本的目录
[root@blogfroum shipyard]# mkdir /usr/local/software/shipyard
[root@blogfroum shipyard]# cd /usr/local/software/shipyard/
shipyard已经提供了安装脚本 直接运行脚本就可以进行安装 首先下载脚本 修改一些必要参数
[root@blogfroum shipyard]# wget https://shipyard-project.com/deploy
[root@blogfroum shipyard]# grep -n shipyard:latest deploy
[root@blogfroum shipyard]# sed -i 's/shipyard\/shipyard:latest/dockerclub\/shipyard:latest/g' deploy
脚本默认映射8080端口 如果想要修改端口 可以修改脚本
vim deploy
找到SHIPYARD_PORT
SHIPYARD_PORT=${PORT:-8080}
修改为
SHIPYARD_PORT=${PORT:-9000}
启动脚本
sh deploy
等待安装好
因为是阿里云所以还需要在阿里云上开放对应的端口
之后可以通过浏览器访问了
用户名默认为
admin
shipyard
登录以后可以修改密码
使用shipyard可以很直观的看到docker上的容器和镜像 也有缺点就是全部一起显示 没有分类或者搜索
可以通过页面对容器镜像关闭 启动 扩容
我比较常用的是控制台 可以直接通过这个进入到容器内部
不过这个管理工具功能还是比较简单的 所以很多操作还是需要在服务器上敲命令 平时注意是为了查看状态
docker默认的网桥docker0创建容器ip是自动获取的 而我为了管理需要ip为手动设置 自己来控制 所以我需要创建自己的网桥 自己自定义的网桥是可以手动设置ip的
创建一个名字为mynet的网桥 网段为172.20.1.0/24 这里要注意的是docker0默认的网段是172.17.0.0 我们新创建的不能和docker0为同一网段 不然会报错
[root@blogfroum shipyard]# docker network create --subnet=172.20.1.0/24 mynet
通过