1.准备宿主机
推荐至少使用centos7 64bit 宿主机系统,不能使用6.*。ubuntu测试时pg也有问题。
2.安装docker
1)先运行命令:sudo yum update
2)安装curl:sudo apt-get install curl
3)官方在线安装:curl -sSL https://get.docker.com/ | sh
需要确保 docker 会开机启动
1) 设置开机启动:
命令:chkconfig docker on;
2) 修改ulimit:
命令:ulimit -n 1020000 #临时修改每个进程可打开的文件数
vi /etc/security/limits.conf ,加入如下行:
* hard nofile 1020000
* soft nofile 1020000
#永久修改每个进程可打开的文件数
3) 关闭防火墙 systemctl disable firewalld
3.拷贝镜像文件到宿主机
web app skylar_main_%version%.tar
postgres database skylar_pg_%version%.tar
redis skylar_redis_%version%.tar
stored skylar_stored_%version%.tar
p.s.可以用winscp等工具拷贝进去更简单
4.导入镜像
sudo docker load < path/to/skylar_main_%version%.tar
sudo docker load < path/to/database skylar_pg_%version%.tar
sudo docker load < path/to/skylar_redis_%version%.tar
sudo docker load < path/to/skylar_beastalkd_%version%.tar
*现在么用* sudo docker load < path/to/skylar_stored_%version%.tar
5.运行镜像
1)宿主机建立目录
mkdir -p /data/pg /data/redis /data/skylarminide/data
*现在么用* mkdir -p /data/pg /data/redis /data/skylarminide/data /data/download /data/www/data /data/nac/config
2)在宿主机运行docker命令
docker run --name=pg --restart=always -d --net=host --privileged=true -v /data/pg:/var/lib/postgresql/9.4/main skylar_pg //将数据目录外放到物理机器的磁盘,并且设置为自动启动
docker run --name=redis --restart=always -d --net=host --privileged=true -v /data/redis:/var/lib/redis/ skylar_redis
docker run --name=beanstalkd --restart=always -d --net=host skylar_beanstalkd
docker run --name=main --restart=always -d --net=host --privileged=true -v /etc/sysconfig:/etc/sysconfig -v /data/skylarminide/data:/opt/tools/skylarminide/data skylar_main
*现在么用* docker run --name=main --restart=always -d --net=host --privileged=true -v /etc/sysconfig:/etc/sysconfig -v /data/skylarminide/data:/opt/tools/skylarminide/data -v /data/download:/opt/download -v /data/nac/config:/usr/local/nac/config skylar_main
*现在么用* docker run --name=stored --restart=always -d --net=host skylar_stored
----------------------------------------------
6.镜像升级,pg数据表升级,pg数据表创建sql放在main镜像中,所以升级main镜像时做这些操作即可
删除旧的main镜像
docker load < 新的main镜像
docker run --net=host --rm skylar_main update
docker run --name=main --restart=always -d --net=host --privileged=true -v /etc/sysconfig:/etc/sysconfig -v /data/skylarminide/data:/opt/tools/skylarminide/data skylar_main
下面这些是使用技巧---------------------
删除所有容器:
docker rm `docker ps -a -q`(注意这里的`,不是单引号,是与~同一个键下的那个符号)
或者使用:
docker stop $(docker ps -a -q)
docker rm $(docker ps -a -q)
删除所有镜像:
docker rmi $(docker images -q)
查看镜像的数据卷
docker inspect 镜像名
推荐至少使用centos7 64bit 宿主机系统,不能使用6.*。ubuntu测试时pg也有问题。
2.安装docker
1)先运行命令:sudo yum update
2)安装curl:sudo apt-get install curl
3)官方在线安装:curl -sSL https://get.docker.com/ | sh
需要确保 docker 会开机启动
1) 设置开机启动:
命令:chkconfig docker on;
2) 修改ulimit:
命令:ulimit -n 1020000 #临时修改每个进程可打开的文件数
vi /etc/security/limits.conf ,加入如下行:
* hard nofile 1020000
* soft nofile 1020000
#永久修改每个进程可打开的文件数
3) 关闭防火墙 systemctl disable firewalld
3.拷贝镜像文件到宿主机
web app skylar_main_%version%.tar
postgres database skylar_pg_%version%.tar
redis skylar_redis_%version%.tar
stored skylar_stored_%version%.tar
p.s.可以用winscp等工具拷贝进去更简单
4.导入镜像
sudo docker load < path/to/skylar_main_%version%.tar
sudo docker load < path/to/database skylar_pg_%version%.tar
sudo docker load < path/to/skylar_redis_%version%.tar
sudo docker load < path/to/skylar_beastalkd_%version%.tar
*现在么用* sudo docker load < path/to/skylar_stored_%version%.tar
5.运行镜像
1)宿主机建立目录
mkdir -p /data/pg /data/redis /data/skylarminide/data
*现在么用* mkdir -p /data/pg /data/redis /data/skylarminide/data /data/download /data/www/data /data/nac/config
2)在宿主机运行docker命令
docker run --name=pg --restart=always -d --net=host --privileged=true -v /data/pg:/var/lib/postgresql/9.4/main skylar_pg //将数据目录外放到物理机器的磁盘,并且设置为自动启动
docker run --name=redis --restart=always -d --net=host --privileged=true -v /data/redis:/var/lib/redis/ skylar_redis
docker run --name=beanstalkd --restart=always -d --net=host skylar_beanstalkd
docker run --name=main --restart=always -d --net=host --privileged=true -v /etc/sysconfig:/etc/sysconfig -v /data/skylarminide/data:/opt/tools/skylarminide/data skylar_main
*现在么用* docker run --name=main --restart=always -d --net=host --privileged=true -v /etc/sysconfig:/etc/sysconfig -v /data/skylarminide/data:/opt/tools/skylarminide/data -v /data/download:/opt/download -v /data/nac/config:/usr/local/nac/config skylar_main
*现在么用* docker run --name=stored --restart=always -d --net=host skylar_stored
----------------------------------------------
6.镜像升级,pg数据表升级,pg数据表创建sql放在main镜像中,所以升级main镜像时做这些操作即可
删除旧的main镜像
docker load < 新的main镜像
docker run --net=host --rm skylar_main update
docker run --name=main --restart=always -d --net=host --privileged=true -v /etc/sysconfig:/etc/sysconfig -v /data/skylarminide/data:/opt/tools/skylarminide/data skylar_main
下面这些是使用技巧---------------------
删除所有容器:
docker rm `docker ps -a -q`(注意这里的`,不是单引号,是与~同一个键下的那个符号)
或者使用:
docker stop $(docker ps -a -q)
docker rm $(docker ps -a -q)
删除所有镜像:
docker rmi $(docker images -q)
查看镜像的数据卷
docker inspect 镜像名