천지 Docker 연습장 경기 상세 공략 + 코드

6767 단어 Docker시합
문서 목록
  • 1. 경기 내용
  • 2. 코드 작성
  • 3. 미러링 및 푸시 구성
  • 본고는 천지 Docker 연습장의 경기 과정을 상세하게 설명하고 코드를 붙여 참고할 것이다
    1. 경기 내용
    제목:
  • Helloworld
  • 출력
  • 계산/tcdata/num_list.csv에서 한 열의 숫자의 총계
  • /tcdata/num_list.csv 파일에서 최대 10개의 수를 찾아 큰 것부터 작은 것까지 List
  • 를 생성합니다.
    출력 결과 형식:
    {  
        "Q1":"Hello world", 
        "Q2":sum , 
        "Q3":[top10_list] 
    }
    

    참고 사항:
  • Helloworld를 출력하면 "Hello world"result.json에 직접 쓰면 된다
  • /tcdata/num_list.csv: 거울을 제출한 후 채점 시스템에 이 파일이 있을 수 있으므로 프로그래밍할 때 직접 인용하면 됩니다
  • 2. 코드 작성
    다음은 Arilon Centos 7의 예입니다.
    폴더 만들기
    mkdir -p /data/tianchi_docker_test && cd /data/tianchi_docker_test
    
    tianchi_docker_test 폴더에 파일 만들기
    touch Dockerfile hello_world.py result.json run.sh
    

    권한을 주다
    chmod 755 *
    
    Dockerfile에서는 모델을 직접 복제하면 됩니다.
    # Base Images
    ##          
    FROM registry.cn-shanghai.aliyuncs.com/tcc-public/python:3
    
    ##                     
    ADD . /
    
    ##             (   run.sh                ,       )
    WORKDIR /
    
    ##           sh run.sh
    CMD ["sh", "run.sh"]
    
    hello-world.py
    # coding:utf-8
    
    import json
    import csv
    
    file_name = '/tcdata/num_list.csv'
    data = []
    
    #    ,     Hello world
    result = {
        "Q1": "Hello world",
        "Q2": 0,
        "Q3": []
    }
    
    #    ,  
    with open(file_name, 'r', encoding='utf-8') as f:
        reader = csv.reader(f)
        for row in reader:
            data.append(int(row[0]))
    
    sum = sum(data)
    result['Q2'] = sum
    
    #    
    result['Q3'] = sorted(data, reverse=True)[0:10]
    
    #     result.json
    with open('result.json', 'w', encoding='utf-8') as f:
        json.dump(result, f)
    
    run.sh
    python hello-world.py
    

    3. 미러링 구축 및 푸시
    아리운 용기 이미지 서비스에 로그인
    docker login --username=   @aliyun.com registry.cn-shanghai.aliyuncs.com
    

    미러링 구성(참고: 현재 디렉토리의 Dockerfile을 사용하여 미러링을 구성한다는 의미)
    docker build -t registry.cn-shanghai.aliyuncs.com/    /    :    .
    

    미러 밀어넣기
    docker push registry.cn-shanghai.aliyuncs.com/    /    :   
    

    결과를 제출하고 미러 경로에 다음을 입력합니다.
    registry.cn-shanghai.aliyuncs.com/    /    :   
    

    OK,good luck !

    좋은 웹페이지 즐겨찾기