ubuntu系统安装docker镜像四docker编排——集群化管理服务

这两天接触docker,我真的很惨,完全靠自己摸索。终于搞懂docker编排的意思。
先解释一下为何我们要用docker编排:
你如果想用docker去管理项目或者很多服务,你不可能一个一个去启动这些docker容器,比如你要用nginx和Jenkins你肯定每次修改要启动两个服务,而且你还需要进入docker容器内部修改一些配置文件很麻烦。
这里就提现出docker编排能力了:
1.docker编排可以同时启动多个服务无压力。
2.docker编排可以把容器内部配置文件映射到你想要的宿主机任何地方,当然你要有权限访问才行。

就拿上面nginx和Jenkins做例子吧
第一步安装nginx和Jenkins镜像很简单安装会很快如果安装慢的话可以改成阿里云加速镜像
$docker pull nginx
$docker pull Jenkins

第二步编写docker-compose这个比较简单

jenkins:
    image: jenkins
    volumes:
        - /root/docker/jenkins/data:/var/jenkins_home
        - /root/docker/jenkins/jenkins.war:/usr/share/jenkins/jenkins.war
    expose:
        - "8080"
        - "50000"
    restart: always
    environment:
        JAVA_OPTS: '-Djava.util.logging.config.file=/var/jenkins_home/log.properties'

nginx:
    image: nginx
    volumes:
        - /root/docker/nginx/logs:/var/log/nginx
        - /root/docker/nginx/conf:/etc/nginx/conf.d
        - /root/docker/nginx/html:/usr/share/nginx/html
    links:
        - jenkins:jenkins
    ports:
        - "8030:8030"
    restart: always

这里解释一下吧:
image:需要指定你配置编排镜像名字
volumes:你需要配置的容器到宿主机的映射地址,宿主机地址:容器地址,意思把容器地址映射到宿主机,我们就可以直接在宿主机进行修改,不需要在进入容器内部修改比较麻烦:
但是修改有点麻烦的是:需要去容器内部重启,比如我改了nginx就需要去容器内部输入命令
links:用于链接另一容器服务,因为要启动两个服务所以要用
restart: always:通过--restart选项,可以设置容器的重启策略,其实就是自动重启容器
expose:指定是容器内部的端口
port:是暴露给宿主机的端口号
$nginx -s reload

如果你改了的比较多,直接重启docker容器也行

上面配置好了就可以进行第三步启动命令-d命令会让docker后台运行不显示启动日志情况:
docker-compose up -d

到这里就一切结束了,看看我成功案例吧:


image.png

docker要学习的东西太多了,加油。
如果有兴趣交流的小伙伴请联系qq:
179061434
下一节我会把redis和mysql主从一起说一下

你可能感兴趣的:(ubuntu系统安装docker镜像四docker编排——集群化管理服务)