Docker容器常用命令的介绍与使用-创新互联

今天小编给大家分享的是Docker容器常用命令的介绍与使用,文章详细列出Docker常用命令并运用了实例展示了命令的使用方法,感兴趣的小伙伴们可以参考借鉴,希望对大家有所帮助。

成都创新互联公司专业为企业提供禹会网站建设、禹会做网站、禹会网站设计、禹会网站制作等企业网站建设、网页设计与制作、禹会企业网站模板建站服务,10年禹会做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。

Docker常用命令:镜像、容器、网络、数据卷

Docker容器常用命令的介绍与使用

Docker容器常用命令的介绍与使用

Dockerfile示例:

Dockerfile是镜像描述文件,包含了一条条的指令,每一条指令构建一层,因此每一条指令的内容,就是描述该层应当如何构建。Dockerfile基本结构:

- 基础镜像

- 维护者信息

- 镜像构建指令

- 容器启动时执行指令

FROM node:8

LABEL maintainer="Jext Community, https://github.com/rickding/HelloDocker"

# copy files
COPY . /usr/node/
WORKDIR /usr/node/

# launch service
CMD ["node", "hello.js"]

EXPOSE 8010

Dockerfile常用指令:

Docker容器常用命令的介绍与使用

Docker-compose资源编排常用命令:

Docker容器常用命令的介绍与使用

docker-compose.yml示例:

资源编排文件定义了版本信息、services服务配置、networks网络信息、volumes卷信息,包含每个服务启动的容器配置。

version:'3'
services:
    db:
        hostname:db
        image:mysql:5
        command:--default-authentication-plugin=mysql_native_password
ports:
- 3306:3306
        environment:
            MYSQL_DATABASE:starter
            MYSQL_ROOT_PASSWORD:root

    api:
        image:starter_api:latest
        build:.
ports:
- 8011:8011
        depends_on:
- db

docker-compose.yml常用指令:

Docker容器常用命令的介绍与使用

Docker容器常用命令的介绍与使用

Docker容器常用命令的介绍与使用

Swarm集群部署常用命令:

Docker容器常用命令的介绍与使用

logs日志查看技巧

日志在系统运行中至关重要,开发测试以及运维通过系统日志分析查找故障原因。logs命令结合grep格式化日志信息:

docker-compose logs -ft | grep --color -i -e error -e warn -e version -e exception

Docker容器常用命令的介绍与使用

Docker三剑客logs命令整理如下:

Docker容器常用命令的介绍与使用

Docker容器常用命令的介绍与使用

Docker prune清理系统垃圾

Docker基于Linux内核通过操作系统和虚拟容器调用CGroup, Namespace等系统接口完成资源的分配与相互隔离,基本架构如下:

Docker容器常用命令的介绍与使用

Docker依赖系统资源运行,分配回收过程中会产生一些垃圾,比如docker stop容器后没有执行docker rm删除。运行docker system df查看资源信息,RECLAIMABLE是可回收比例:

 Docker容器常用命令的介绍与使用

增加选项-v将显示详情:docker system df -v

 Docker容器常用命令的介绍与使用

使用技巧:运行prune命令清理垃圾并释放资源

docker system prune --volumes

Docker容器常用命令的介绍与使用

Docker提供的prune命令整理如下:

Docker容器常用命令的介绍与使用

Docker容器常用命令的介绍与使用

实例1:Docker启动nginx

l 代码:https://github.com/rickding/HelloDocker/tree/master/nginx

配置和脚本文件:

├── docker-compose.yml

├── build.sh

├── run.sh

├── stop.sh

l Dockerfile基于nginx镜像添加网页和配置文件:

FROM nginx:stable

# web files
COPY ./web/ /usr/share/nginx/html

# config
COPY ./conf/nginx.conf /etc/nginx/nginx.conf
COPY ./conf/conf.d /etc/nginx/conf.d

WORKDIR /etc/nginx

EXPOSE 80

l 构建镜像:执行脚本./build.sh或命令:docker build -t nginx:latest .

l 启动容器实例:执行脚本./run.sh或命令:docker run -it --name nginx -p 80:80 -d nginx:latest

l 访问http://localhost:80/,看到页面:

Docker容器常用命令的介绍与使用

l 停止删除实例:执行脚本./stop.sh或命令:docker stop nginx && docker rm nginx

实例2:资源编排Web服务

l 代码:https://github.com/jextop/StarterDeploy

配置和脚本文件:

├── docker-compose.yml

├── pull.sh

├── up.sh

├── logs.sh

├── down.sh

l docker-compose.yml部署Web服务依赖的多个容器实例,数据库、缓存、消息队列、日志系统、API接口和Web管理后台:

version: '3'
services:
    db:
        hostname: db
        image: mysql:5
        command: --default-authentication-plugin=mysql_native_password
        ports:
            - 3306:3306
        environment:
           MYSQL_DATABASE: starter
           MYSQL_ROOT_PASSWORD: root

    cache:
        hostname: cache
        image: redis:4
        command: redis-server --appendonly yes
        ports:
            - 6379:6379

    mq:
        hostname: mq
        image: webcenter/activemq:latest
        ports:
            - 61616:61616
            - 8161:8161

    elasticsearch:
        hostname: elasticsearch
        image: elasticsearch:latest
        ports:
            - 9200:9200
            - 9300:9300

    log:
        hostname: log
        image: registry.cn-shanghai.aliyuncs.com/hellodock/logstash:7.5.2
        ports:
            - 9600:9600
            - 9601:9601
        depends_on:
            - elasticsearch

    db_admin:
        image: adminer:latest
        ports:
            - 3006:8080
        depends_on:
            - db

    api:
        image: registry.cn-shanghai.aliyuncs.com/jext/starter_api:latest
        ports:
            - 8011:8011
        depends_on:
            - db
            - cache
            - mq
            - log

    admin:
        image: registry.cn-shanghai.aliyuncs.com/jext/starter_admin:latest
        ports:
            - 8010:8010
        depends_on:
            - api

l 启动Web服务:执行脚本./up.sh或命令:docker-compose up -d

l 查看运行实例:docker-compose ps

l 查看日志:执行脚本./logs.sh或命令:docker-compose logs -ft

l 访问http://127.0.0.1:8010/,看到页面:

Docker容器常用命令的介绍与使用

l 停止和删除服务:执行脚本./down.sh或命令,docker-compose down --remove-orphans

实例3:集群部署Web服务

l 代码:https://github.com/jextop/StarterDeploy

配置和脚本文件:

├── docker-compose.yml

├── pull.sh

├── deploy.sh

├── rm.sh

l docker-compose.yml增加deploy属性,replicas指定副本数量,placement指定docker节点:

deploy:
    replicas: 1
    # placement:
    #     constraints: [node.labels.group == api]

l 启动Swarm加入节点构建集群,首个节点自动成为管理员:docker swarm init

l 部署Web服务:执行脚本./deploy.sh或命令:docker stack deploy -c docker-compose.yml starter

Docker容器常用命令的介绍与使用

l 查看Stack和服务:docker stack ls && docker service ls

Docker容器常用命令的介绍与使用

l 停止删除服务:执行脚本./rm.sh或命令:docker stack rm starter

Docker容器常用命令的介绍与使用

以上就是Docker容器常用命令的介绍与使用,详细使用情况还需要大家自己亲自动手使用过才能领会。如果想了解更多相关内容,欢迎关注创新互联行业资讯频道!

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。

本文题目:Docker容器常用命令的介绍与使用-创新互联
文章链接:https://www.cdcxhl.com/article4/deoeie.html

成都网站建设公司_创新互联,为您提供品牌网站制作品牌网站设计响应式网站网站导航网站营销网站内链

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

商城网站建设