Docker 구축 CI/CD 도구 설명

9061 단어
**
1. 네트워크가 없는 docker 환경 구축
** https://www.jianshu.com/p/15e1fb009e9e회사가 개인 클라우드 플랫폼 구축을 하고 있기 때문에 네트워크가 없는 상황에서 환경을 구축할 수 있고 테스트를 통해 전체 절차를 거쳐docker 환경을 구축할 수 있다.네트워크 서버 없이 docker 설치
  • 먼저 본 컴퓨터에서 docker 오프라인 패키지를 다운로드하고 docker-18.06.1-ce.tgz https://download.docker.com/linux/static/stable/x86_64/
  • rz를 사용하여 오프라인 패키지를 서버에 업로드하고 tar-xvf docker-18.06.1-ce.ggz 압축 풀기
  • 압축이 풀린 docker 파일을 cp docker/*/usr/bin/
  • 복사합니다.
  • 설정vim/etc/systemd/system/docker를 추가합니다.서비스, 구성은 다음과 같습니다.
  • [Unit]
    Description=Docker Application Container Engine
    Documentation=https://docs.docker.com
    After=network-online.target firewalld.service
    Wants=network-online.target
    [Service]
    Type=notify
    # the default is not to use systemd for cgroups because the delegate issues still
    # exists and systemd currently does not support the cgroup feature set required
    # for containers run by docker
    ExecStart=/usr/bin/dockerd
    ExecReload=/bin/kill -s HUP $MAINPID
    # Having non-zero Limit*s causes performance problems due to accounting overhead
    # in the kernel. We recommend using cgroups to do container-local accounting.
    LimitNOFILE=infinity
    LimitNPROC=infinity
    LimitCORE=infinity
    # Uncomment TasksMax if your systemd version supports it.
    # Only systemd 226 and above support this version.
    #TasksMax=infinity
    TimeoutStartSec=0
    # set delegate yes so that systemd does not reset the cgroups of docker containers
    Delegate=yes
    # kill only the docker process, not all processes in the cgroup
    KillMode=process
    # restart the docker process if it exits prematurely
    Restart=on-failure
    StartLimitBurst=3
    StartLimitInterval=60s
    [Install]
    WantedBy=multi-user.target
    

    파일 추가 권한, 설정을 다시 불러오고 docker를 시작합니다
     chmod +x /etc/systemd/system/docker.service #         docker
     systemctl daemon-reload #  unit    
     systemctl start docker #  Docker
     systemctl enable docker.service #      
    
  • docker 부팅 상태 확인
  •  systemctl status docker #  Docker  
    

    비고: docker를 설치하는 과정에서 docker 브리지가 자동으로 추가됩니다.부팅이 이상하면 수동으로 브리지를 추가해 보십시오.
       brctl addbr docker0 ip addr add 172.17.0.1/16 dev docker0 ip link set dev docker0 up systemctl restart docker
    

    2. docker 설치
    http://www.imooc.com/article/282731
    환경 준비:
    Ubuntu 64-bit 시스템
    Kernel 3.10+
    (1) 시스템의 커널 버전을 검사하고 반환된 값이 3.10보다 크면 된다
      :uname -r
    

    (2) sudo 또는 루트 권한을 사용하는 사용자가 미드티어에 로그인
    (3) apt-get이 최신 버전임을 보증하며 다음 명령을 실행합니다.
      :apt-get update
    

    (3) docker를 설치합니다.
      :apt-get install -y docker.io
    

    이 명령으로 설치된 것은 docker의 최신 버전이 아닐 수도 있습니다
    docker의 최신 버전을 설치하려면 다음 명령을 사용합니다.
      :curl -s https://get.docker.com | sh
    

    (4) 설치가 완료되면 설치 성공 여부를 확인하고 다음 명령을 실행합니다.
      :docker version
    

    docker가 설치되었음을 설명합니다!
    docker version 명령을 실행한 후 Server 섹션이 표시되지 않으면 docker 서비스 명령이 시작되고 다음 명령을 실행하여 docker 서비스를 시작할 수 있습니다.
      :service docker start
    

    이후 docker version 명령을 다시 실행하면 관련 정보를 볼 수 있습니다.
    3. docker 패키지 크로스 기기 이동 렌즈 - 실례 Instance
    내보내기:
    docker save f8908be1963b > /data/nginx.img
    scp nginx.img 10.6.7.13:/data/
    scp nginx.img 10.6.7.14:/data/
    

    가져오기:
    [root@zabbix609 data]# docker load < nginx.img
    docker images
    docker tag f8908be1963b nginx:latest
    docker images |grep nginx
    

    4. 도커에 제인킨스 설치
    https://www.jianshu.com/p/12c9a9654f83
    1.pull의 제인킨스 렌즈docker pull jenkins/jenkins:lts;입니다. 이것은 최신 버전의 제인킨스를 설치하는 것입니다. 만약에 구 버전을 설치하면 많은 플러그인을 설치하지 못해서docker 환경에서 업그레이드하는 것은 비교적 번거롭습니다.
    2. 설치된 제인킨스 렌즈docker images;가 최신 버전인지 확인docker inspect ba607c18aeb73. 제인킨스 디렉터리 만들기 mkdir /home/jenkins_home;4. 제인킨스 용기 가동docker run -d --name jenkins_01 -p 8081:8080 -v /home/jenkins_01:/home/jenkins_01 jenkins/jenkins:lts ;5. 제인킨스 서비스 보기docker ps | grep jenkins;6. 서버를 시작합니다.localhost:8081;
    7. 용기 내부로 들어가기docker exec -it jenkins_01 bash;8. 실행: cat /var/jenkins_home/secrets/initialAdminPassword, 비밀번호를 받아서 붙여넣기;
    9. 비밀번호를 입력한 후 도커 렌즈docker restart {CONTAINER ID}를 다시 켜고 설치를 완료합니다.
    5. Docker-openGrok 설치
  • Opengrok 설치:
  • sudo docker pull scue/docker-opengrok
    
  • 색인 생성 및 시작:
  • sudo docker run --rm \
        -v /path/to/source:/src \
        -v /path/to/opengrok_data:/data \
        -p 8888:8080 \
        scue/docker-opengrok
    

    그런 다음 http://localhost:8888/source를 통해 액세스할 수 있습니다.그 중에서/path/to/source는 호스트 소스 weizh 위치이고/path/to/opengrok데이터는 호스트 cu에 설정, 로그, 생성된 데이터베이스 파일을 저장하는 위치입니다.백그라운드 운행이 필요하다면 매개 변수 -d를 추가하면 됩니다.
  • 업데이트 인덱스:
  • sudo docker exec ${CONTAINER_NAME} OpenGrok index /src
    

    환경 설정:
  • 미러 보기:
  • $ sudo docker images
    REPOSITORY             TAG                 IMAGE ID            CREATED             SIZE
    scue/docker-opengrok   latest              93c3cb01d8cb        2 years ago 387MB
    

    2. 컨테이너를 보려면 다음과 같이 하십시오.
    $ sudo docker ps
    CONTAINER ID        IMAGE                  COMMAND               CREATED              STATUS              PORTS                    NAMES
    b80b902c11eb        scue/docker-opengrok   "/scripts/start.sh"   About a minute ago   Up About a minute   0.0.0.0:8888->8080/tcp   trusting_hermann
    

    3. 컨테이너를 중지합니다.
    docker stop b80b902c11eb
    

    6. Mediawiki
    sql docker를 시작하려면:
    docker run -d --name mediawiki-mysql -e MYSQL_ROOT_PASSWORD=abc@123 mysql/mysql-server:5.7
    

    docker에 들어가기
    docker exec -it mediawiki-mysql /bin/bash
    

    sql 설정:
    #bash-4.2# 
    mysql -uroot -p
    ......
    #mysql> 
    GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'abc@123' WITH GRANT OPTION;
    #mysql> 
    FLUSH PRIVILEGES;
    

    docker를 시작하려면 다음과 같이 하십시오.
    docker run --name facethink-mediawiki --link mediawiki-mysql:mysql -p 8001:80 -e MEDIAWIKI_DB_PASSWORD=abc@123 -d wikimedia/mediawiki:1.30.0-wmf4
    

    좋은 웹페이지 즐겨찾기