docker环境部署

来源:互联网 发布:程序员英语软件 编辑:程序博客网 时间:2024/04/29 07:58
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 镜像名
0 0
原创粉丝点击