常用命令整理

ubuntu快速安装docker

apt  -y install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add -
add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
apt update
apt -y install docker-ce docker-ce-cli containerd.io
systemctl status docker
apt-mark hold docker-ce
docker container run hello-world
apt -y install docker-compose
apt-mark hold docker-compose
docker version
docker-compose version

ssh-keygen -t rsa -P ''

docker修改国内安装源

以下是一些常用的国内Docker镜像源:

  1. DaoCloud加速器(https://www.daocloud.io/mirror)
  2. 网易云镜像(https://hub-mirror.c.163.com)
  3. 阿里云镜像(https://cr.console.aliyun.com/) 使用这些镜像源,可以通过修改Docker的配置文件来替换默认的镜像源。具体操作如下:
  4. 打开Docker配置文件(通常位于/etc/docker/daemon.json或者~/.docker/daemon.json)。
  5. 如果文件不存在,可以创建一个新的文件。
  6. 在配置文件中添加以下内容,替换为对应的镜像源地址:
    {
    "registry-mirrors": ["镜像源地址"]
    }
    
  7. 保存配置文件,并重启Docker服务。 修改完配置文件并重启Docker服务后,Docker将会使用国内的镜像源来下载和部署镜像,加快速度和稳定性。
    81  LANG=zh_CN.UTF-8
    82  LANGUAGE=zh_US:
    
    {
     "insecure-registries" : ["192.168.1.11:80"],
     "registry-mirrors": ["https://cr.console.aliyun.com/"]
    }
    

docker部署gitlab

  • 创建docker-compose.yml

    version: '3.1'
    services:
    gitlab:
      image: 'gitlab/gitlab-ce:latest'
      container_name: gitlab
      restart: always
      environment:
        GITLAB_OMNIBUS_CONFIG: |
          external_url 'http://192.168.1.11:8998'
          gitlab_rails['gitlab_shell_ssh_port'] = 2224
      ports:
        - '8998:8998'
        - '2224:22'
      volumes:
          - ./data:/var/opt/gitlab
          - ./logs:/var/log/gitlab
          - ./config:/etc/gitlab
    
  • 可能用到的命令

    docker-compose  up -d
    docker-compose logs -f
    docker exec -it gitlab bash
    

docker部署jenkins

  • 创建docker-compose.yml
version: "3.1"
services:
  jenkins:
    container_name: jenkins
    image: jenkins/jenkins:lts
    user: root
    ports:
      - 8888:8080
      - 50000:50000
    restart: "always"
    volumes:
      - ./data/:/var/jenkins_home/

jenkins修改安装源

  • 修改 data/hudson.model.UpdateCenter.xml
<?xml version='1.1' encoding='UTF-8'?>
<sites>
  <site>
    <id>default</id>
    <url>https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json</url>
  </site>
</sites>
  • 替换国内:
sed -i 's/https:\/\/updates.jenkins.io\/download/http:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' data/updates/default.json
sed -i 's/https:\/\/www.google.com/https:\/\/www.baidu.com/g' data/updates/default.json

安装sonarqube

docker pull postgres
docker pull sonarqube:9.9-community
mkdir sonarqube_docker
cd sonarqube_docker
vim docker-compose.yml
  • docker-compose.yml 如下:
version: "3.1"
services:
  db:
    image: postgres
    container_name: db
    ports:
      - 5432:5432
    networks:
      - sonarnet
    environment:
      POSTGRES_USER: sonar
      POSTGRES_PASSWORD: sonar
  sonarqube:
    image: sonarqube:9.9-community
    container_name: sonarqube
    depends_on:
      - db
    ports:
      - 9000:9000
    networks:
      - sonarnet
    environment:
      SONAR_JDBC_URL: jdbc:postgresql://db:5432/sonar
      SONAR_JDBC_USERNAME: sonar
      SONAR_JDBC_PASSWORD: sonar
networks:
  sonarnet:
    driver: bridge
  • 修改系统配置

vim /etc/sysctl.conf

vm.max_map_count = 262144
  • 重启使生效,sysctl -p

  • 查看日志 docker-compose logs -f

sonar-scanner 集成到jenkins

下载sonar-scanner https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-5.0.1.3006-linux.zip squ_a6079b4fa22eaf3e9579e7b0f297221bf7beb8e5

/root/docker-jenkins/data/sonar-scanner/bin/sonar-scanner -Dsonar.source=./ -Dsonar.projectname=demo1 -Dsonar.login=squ_a6079b4fa22eaf3e9579e7b0f297221bf7beb8e5 -Dsonar.projectKey=demo1

jenkins安装配置插件

/var/jenkins_home/sonar-scanner/bin/sonar-scanner -Dsonar.source=./ -Dsonar.projectname=demo1 -Dsonar.login=squ_a6079b4fa22eaf3e9579e7b0f297221bf7beb8e5 -Dsonar.projectKey=demo1

rm -rf docker-jenkins/data/workspace/testjenkins/src/.scannerwork/ cd /var/jenkins_home/workspace/

harbor安装

下载 Releases · goharbor/harbor (github.com)

harbor地址/项目名/镜像名:版本

docker配置

  • docker创建 /etc/docker/daemon.json
{
    "insecure-registries" : ["192.168.1.11:80"]
}

重启docker

Docker 删除 none

docker images | grep none | awk '{print $3}' | xargs docker rmi

docker容器jenkins内使用宿主机docker

/var/run/docker.sock

映射

chown root:root  docker.sock
chmod o+rw docker.sock
version: "3.1"
services:
  jenkins:
    container_name: jenkins
    image: jenkins/jenkins:lts
    user: root
    ports:
      - 8888:8080
      - 50000:50000
    restart: "always"
    volumes:
      - ./data/:/var/jenkins_home/
      - /var/run/docker.sock:/var/run/docker.sock
      - /usr/bin/docker:/usr/bin/docker
      - /etc/docker/daemon.json:/etc/docker/daemon.json

一个部署脚本

harbor_addr=$1
harbor_repo=$2
project=$3
version=$4
container_port=$5
host_port=$6
harbor_user=$7
harbor_password=$8

image_name=$harbor_addr/$harbor_repo/$project
img=$harbor_addr/$harbor_repo/$project:$version

echo $image_name

for container_id in `docker ps -a |grep $project |awk -F' ' '{print $1}'  `
do
  echo $container_id
  docker stop $container_id
  docker rm $container_id

done

for tag in `docker images | grep  $image_name | awk -F ' ' '{print $2}'  `
do
    if [ $tag = $version ]
    then
        docker rmi -f  $img
    fi
done

docker login -u $harbor_user -p $harbor_password $harbor_addr

docker pull $img

docker run -d -p $host_port:$container_port --name $project $img

docker ps -a |grep $project

echo SUCCESS
git checkout $tag
if  [ -e "src.tar.gz" ] 
then
rm -rf src.tar.gz
fi

tar -zvcf src.tar.gz src 
git tag -a 'v5.0.0' -m "单机harbor第三个版本"
git push origin v5.0.0

ubuntu 绑定ip

vi /etc/network/interfaces

auto eth0
iface eth0 inet static
address 192.168.1.50
netmask 255.255.255.0
gateway 192.168.1.1

results matching ""

    No results matching ""