美文网首页
2022-10-28-Docker容器技术(学习笔记)

2022-10-28-Docker容器技术(学习笔记)

作者: DGFM | 来源:发表于2022-10-27 20:34 被阅读0次

    实验:搭建Harbor仓库服务;

    环境:

    系统: Ubuntu-20.04

    1.下载harbor二进制安装包:harbor-offline-installer-v2.3.2.tgz        #可能需要挂代理,或者找一些国内的下载节点;

    2.修改系统主机名,为了方便辨认:$ hostnamectl set-hostname harbor-1

    3.创建harbor目录,为了方便管理:# mkdir /usr/local/src/harbor

    4.解压harbor包:# tar -xvf /usr/local/src/harbor/harbor-offline-installer-v2.3.2.tgz

    5.安装docker和docker-compose,如果要使用harbor中的SSL功能,还需要安装openssl;

    6.复制默认harbor配置文件模板:# cp harbor.yml.tmpl ./harbor.yml

    7.修改配置文件内容:参考默认模板,根据实际情况进行修改;

        hostname: 192.168.110.161        #配置harbor服务器的访问IP或域名;

        http:        #http访问配置字段;

           port: 80        #配置通过http协议访问harbor服务时使用的端口;

        https:        #https访问配置字段;

           port: 443        #https访问端口;

           certificate: /your/certificate/path        #私钥路径;

           private_key: /your/private/key/path        #公钥路径;

        harbor_admin_password: harbor@123        #配置harbor管理用户admin的默认密码;

        database:        #数据库配置字段;

          password: root123        #数据库密码;

          max_idle_conns: 100        

          max_open_conns: 900

        data_volume: /data        #数据库存储目录映射,此处表示容器中的数据会存储在宿主机/data路径下;

    8.在harbor.yml所在路径下运行安装脚本:# ./install.sh        #出现下图状态表示安装成功;

    9.查看docker容器:docker ps

    10.访问测试:http://192.168.110.161/

    11.登录并配置项目仓库:默认账号:admin;

    12.在客户端节点使用Dockerfile创建测试镜像,并上传:

        12.1    在harbor客户端设备上修改/lib/systemd/system/docker.service文件,添加仓库认证:--insecure-registry

                    ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock --insecure-registry=192.168.110.161

                    # systemctl daemon-reload        #重新读取docker.service配置;

                    # systemctl restart docker        #重启docker服务;

        12.2    登录harbor服务器:

                    # docker login 192.168.110.161

        12.3    修改docker镜像名称为:harbor服务器地址/项目名/镜像名:TAG号

                    # docker tag SOURCE_IMAGE[:TAG] 192.168.110.161/nginx/REPOSITORY[:TAG]

                    # docker push 192.168.110.161/nginx/nginx_all-in-one:nginx_1.23.1        #上传镜像;

    Docker网路简介:

        docker网络简单分为三种:使用docker network ls进行查询,docker在每次新建容器时,容器的ip地址都可能不同;

            bringe:桥接网络,通过将容器网路映射到宿主机上,以此达到访问功能;

            host:与桥接模式不同,host模式不进行映射,直接使用宿主机网络协议栈进行通信,此种方法更节省网络资源;

            none:不使用网络;

    实验:安装docker-compose并利用它组装一个多容器的服务:如nginx、mysql、php

    1.分别使用Dockerfile构建3种服务的镜像;

    2.编辑简单的docker-compose.yaml文件

    3.使用docker-compose up -d启动容器组;

    docker-compose常用命令简介:和docker的很多命令使用方法相似,可以根据情况自行选择;

        -f:指定使用哪个配置文件(默认配置文件是docker-compose.yml或docker-compose.yaml)可以使用绝对路径;

        -p:指定项目工程名;

        config:检查docker-compose,的配置文件是否有语法错误。后接-q选项静默输出,输出结果是经过规则转译后得到的标准文件规则问题本;

    up:启动容器,-d选项表示在后台运行;

        down:删除容器所有相关数据,一般禁用;

        stop:停止容器运行;

        start:启动容器;

        exec:连接到某容器;

        kill:杀死某个容器;

        pause:暂停容器;

        unpause:取消暂停;

        port:打印容器的映射端口;

        pull:使用docker-compose下载镜像;

        push:使用docker-compose上传镜像;

        scale:对容器进行弹性伸缩,即可以指定同时启动特定容器的数量。注意因为在一个宿主机中容器的别名和映射端口的唯一性,所以在进行伸缩操作的时候不可以写死这几个参数,否则会报错。但是由于没有声明映射端口,所以无法直接访问;docker-compose scale 声明的服务名=伸缩的个数(数字);

    相关文章

      网友评论

          本文标题:2022-10-28-Docker容器技术(学习笔记)

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