Docker笔记

作者: macrozheng | 来源:发表于2018-12-18 14:08 被阅读18次

    Docker笔记

    Docker 镜像常用命令

    搜索镜像

    docker search java

    下载镜像

    • docker pull java:8
    • docker pull macro/eureka-server:0.0.1

    列出镜像

    docker images

    删除镜像

    • docker rmi java
    • docker rmi -f java
    • docker rmi -f $(docker images)

    Docker 容器常用命令

    新建并启动容器

    docker run -d -p 91:80 nginx

    列出容器

    docker ps

    停止容器

    docker stop $ContainerId

    强制停止容器

    docker kill $ContainerId

    启动已停止的容器

    docker start $ContainerId

    进入容器

    • docker inspect --format "{{.State.Pid}}" $ContainerId
    • nsenter --target "$pid" --mount --uts --ipc --net --pid

    删除容器

    • docker rm $ContainerId
    • docker rm -f $(docker ps -a -q)

    Docker Registry

    Docker Registry 2.0搭建

    docker run -d -p 5000:5000 --restart=always --name registry2 registry:2

    推送到私有仓库

    docker push localhost:5000/macro/eureka-server:0.0.1

    修改镜像标签

    docker tag macro/eureka-server:0.0.1 localhost:5000/macro/eureka-server:0.0.1

    使用maven构建Docker镜像

    构建镜像

    • command:mvn clean package docker:build
    • tip:
      Linux服务器需要开启远程api:vi /usr/lib/systemd/system/docker.service
      修改为:ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock

    推送镜像到私有仓库

    • command:mvn clean package docker:build -DpushImage
    • tip:
      pom.xml修改<imageName>192.168.1.71:5000/macro/{project.artifactId}:{project.version}</imageName>
    • tip:
      docker要支持http:echo '{ "insecure-registries":["192.168.1.71:5000"] }' > /etc/docker/daemon.json

    修改Docker镜像存放位置

    1. 查看Docker的存放位置:docker info | grep "Docker Root Dir"(默认为/var/lib/docker)
    2. 关闭Docker服务:systemctl stop docker
    3. 移动目录到目标路径:mv /var/lib/docker /root/data/docker
    4. 建立软连接:ln -s /root/data/docker /var/lib/docker

    Docker compose

    安装

    1. 下载地址:https://github.com/docker/compose/releases
    2. 安装地址:/usr/local/bin/docker-compose
    3. 设置为可执行:sudo chmod +x /usr/local/bin/docker-compose
    4. 测试是否安装成功:docker-compose --version

    安装命令补全工具

    sudo curl -L https://raw.githubusercontent.com/docker/compose/1.22.0/contrib/completion/bash/docker-compose -o /etc/bash_completion.d/docker-compose

    常用命令

    • 构建、创建、启动相关容器:docker-compose up
    • 列出所有容器:docker-compose ps
    • 删除指定服务的容器:docker-compose rm eureka
    • 对容器进行动态扩容:docker-compose scale eureka=3
    • 停止相关容器:docker-compose stop eureka
    • 启动相关容器:docker-compose start eureka

    编排SpringCloud微服务

    所使用到的工程

    • eureka-server
    • hello-service
    • feign-consumer
    • api-gateway

    编排模式

    1. 编排SpringCloud微服务:见eureka-server/docker-res/docker-compose.yml
    2. 简化SpringCloud微服务编排:见eureka-server/docker-res/docker-compose-simple.yml
    3. 编排高可用的注册中心:见eureka-server/docker-res/docker-compose-eureka.yml

    相关文章

      网友评论

        本文标题:Docker笔记

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