美文网首页
docker使用分享

docker使用分享

作者: 特南克斯 | 来源:发表于2017-09-18 10:58 被阅读0次

    一、Docker安装

    (0)参考官方教程https://docs.docker.com/engine/installation/linux/docker-ce/centos/, 这里推荐在CentOS7.x 64位中使用yum安装,如下

    (1)备份更新源文件

    mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
    #替换阿里云镜像源
    wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
    #生成缓存
    yum makecache
    #运行更新系统
    yum update
    

    (2)yum安装docker

    #删除旧版本docker
    sudo yum remove -y docker \
                  docker-common \
                  container-selinux \
                  docker-selinux \
                  docker-engine
    sudo yum install -y yum-utils
    sudo yum-config-manager --add-repo  https://download.docker.com/linux/centos/docker-ce.repo
    sudo yum-config-manager --enable docker-ce-edge
    sudo yum makecache fast
    sudo yum -y install docker-ce
    sudo systemctl enable docker
    sudo systemctl start docker
    

    运行下面命令,测试docker是否正常

    sudo docker -v
    

    (3)配置docker 阿里加速器(百度如何申请),修改docker存储位置为/home/dockerfiles(默认为/var/lib/docker),修改docker0默认网段

    执行 vim /etc/docker/daemon.json
    {
       "graph":"/home/dockerfiles",
       "registry-mirrors":["https://xxx.mirror.aliyuncs.com"],
       "bip":"10.10.10.1/24"
    }
    sudo systemctl daemon-reload
    sudo systemctl restart docker
    

    (4)安装docker-compose(官方教程https://docs.docker.com/compose/install/#prerequisites

    sudo curl -L https://github.com/docker/compose/releases/download/1.16.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
    chmod +x /usr/local/bin/docker-compose
    #执行下面语句查看版本
    docker-compose --version
    

    二、Docker常用资源

    (1)镜像仓库

    docker官方仓库  https://store.docker.com/
    阿里云仓库      https://dev.aliyun.com/search.html
    

    (2)github

    https://github.com/
    

    三、Docker常用命令

    功能 命令
    列出运行中的容器 docker ps
    列出所有容器(包括停止的) docker ps -a
    拉回镜像 docker pull mysql:5.7
    启动容器 docker run -d -p 3306:3306 -e 'password=12345' -v /hostvolume:/insidevolume --name='test' registry/imagename:tag
    进入容器 docker exec -it xxx /bin/bash
    显示日志 docker logs -f xxx
    删除某个容器 docker rm -f xxx
    删除所有容器 docker rm -f `docker ps -a -q`
    列出容器网关 docker network list
    查看容器网关 docker network inspect xxx
    更多命令说明查看https://docs.docker.com/engine/reference/run/
    

    四、docker镜像制作

    Dockerfile制作镜像

    打包为war的项目的dockerfile文件样例

    FROM tomcat:7
    RUN rm -rf /usr/local/tomcat/webapps/ROOT/*
    COPY target/myweb.war /tmp/
    RUN unzip /tmp/myweb.war -d /usr/local/tomcat/webapps/ROOT \ 
    && ls /usr/local/tomcat/webapps/ROOT
    CMD ["catalina.sh", "run"]
    

    spring boot项目的dockerfile文件样例

    FROM frolvlad/alpine-oraclejdk8:slim
    ADD target/spring-boot-test.jar /app.jar
    VOLUME /var/log/testlog
    ENTRYPOINT [ "sh", "-c", "java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar /app.jar" , "--spring.profiles.active=docker"]
    

    打包命令

    #!/bin/bash
    mvn clean package -Dmaven.test.skip=true    
    VERTAG="1.0.0.001"
    if [ -n "$1" ]
    then
      verTag=$1
    else
      verTag=$VERTAG
    fi
    echo "docker build and push ${verTag}"
    docker build ./ -t {镜像仓库地址}/helloworld:$verTag   
    

    五、docker-compse

    官方指南

    https://docs.docker.com/compose/overview/
    

    常用命令

    功能 命令
    列出运行中的容器 docker-compose ps
    检查docker-compose文件 docker-compose config
    运行容器 docker-compose up -d
    显示日志 docker-compose logs -f
    停止容器 docker-compose stop
    删除容器 docker-compose down

    例子

    version: '3'
    services:
       db:
         image: mysql:5.7
         volumes:
           - ./mysql-data:/var/lib/mysql
         restart: always
         environment:
           MYSQL_ROOT_PASSWORD: somewordpress
           MYSQL_DATABASE: wordpress
           MYSQL_USER: wordpress
           MYSQL_PASSWORD: wordpress
         networks:
           - wordpress-net
       wordpress:
         depends_on:
           - db
         image: wordpress:latest
         ports:
           - "8000:80"
         restart: always
         environment:
           WORDPRESS_DB_HOST: db:3306
           WORDPRESS_DB_USER: wordpress
           WORDPRESS_DB_PASSWORD: wordpress
         networks:
           - wordpress-net       
    networks:
      wordpress-net:
        driver: bridge
        ipam:
          driver: default
          config:
          - subnet: 10.200.1.0/24

    相关文章

      网友评论

          本文标题:docker使用分享

          本文链接:https://www.haomeiwen.com/subject/nowvsxtx.html