Docker学习笔记(2)

  1. 1. docker 私有registry
  2. 2. 配置多台容器
  3. 3. Jenkins
    1. 3.1. 默认jenkins不安装git
      1. 3.1.1. 直接安装
      2. 3.1.2. 手动安装
  • 参考文档

    docker 私有registry

    • 启动 registry

      1
      docker run -d -p 5000:5000 --name registry registry:0.9.1
    • 镜像打tag
      docker tag IMAGE[:TAG] [REGISTRY:HOST/][USERNAME/]NAME[:TAG]

      1
      docker tag ubuntu/ubuntu:14.04 10.221.238.100:5000/ubuntu/ubuntu:14.04
    • push到Registry:

    可能遇到 无法push image到私有仓库

    编辑 /etc/default/docker

    1
    DOCKER_OPTS="--insecure-registry ip地址:端口号"

    service docker restart

    配置多台容器

    • docker-compose.yml
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    mysql:
    image: mysql:5.5
    ports:
    - "3306:3306"
    volumes:
    - /var/lib/docker/vfs/dir/dataxc:/var/lib/mysql
    hostname: mydb.server.com

    tomcat:
    image: tomcat:7.0.55
    ports:
    - "8080:8080"
    links:
    - mysql:db
    environment:
    - TOMCAT_USER=admin
    - TOMCAT_PASS=admin
    hostname: tomcat.server.com
    • 启动多个容器
      docker-compose up -d

    • 停止多个容器
      docker-compose stop

    • 查看容器
      docker-compose ps

    • 删除多个容器
      docker-compose rm

    Jenkins

    docker create 只创建容器,不启动

    安装http://pkg.jenkins-ci.org/debian/

    启动

    1
    docker run -d -p 8080:8080 --name jenkins -v /usr/bin/docker:/usr/bin/docker -v /var/run/docker.sock:/var/run/docker.sock jenkins

    遇到dial unix /var/run/docker.sock: permission denied.解决办法:

    1
    2
    3
    4
    5
    6
    7
    sudo service docker stop
    sudo rm -rf /var/run/docker.sock/
    (docker.sock had somehow been created as a directory - not sure how)
    sudo service docker start
    sudo chmod 777 /var/run/docker.sock

    然后再启动

    默认jenkins不安装git

    直接安装

    系统管理”->”管理插件”中找到”可选插件”选项卡,左上角的过滤搜索窗口中可以用输入Git来查找。
    选择git plugin,jenkins会自动为我们添加其依赖的插件

    手动安装

    系统管理”->”管理插件”中找到”高级”, 然后去 http://updates.jenkins-ci.org/download/plugins 下载 credentials.hpi git-client.hpi scm-api.hpi git.hpi, 并依次安装,最后记得重启jenkins

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    REGISTRY_URL=10.221.238.100:5000
    cp /root/apache-maven-3.3.3-bin.tar.gz $WORKSPACE/maven
    docker build -t csphere/maven:3.3.3 $WORKSPACE/maven
    if docker ps -a | grep -i maven ; then
    docker rm -f maven
    fi
    docker create --name maven csphere/maven3.3.3
    docker cp maven:/hello/target/hello.war $WORKSPACE/hello
    docker build -t $REGSITRY_URL/csphere/hello:1.0 $WORKSPACE/hello
    docker push $REGSITRY_URL/csphere/hello:1.0
    if docker ps -a | gerp -i hello; then
    docker rm -f hello
    fi
    docker run -d -p 80:8080 --name hello $REGSITRY_URL/csphere/hello:1.0

    参考文档


    文章若有纰漏请大家补充指正,谢谢~~
    http://blog.xinshangshangxin.com SHANG殇