No.1 dotnetcore&docker--环境搭建
基础环境搭建,包含docker可运行环境 gitlab代码仓库,harbor镜像仓库。gitlab和harbor 运行在linux的主机上,程序服务通过docker来搭建。centos用7.5
一、docker环境搭建
yum update -y
yum install -y vim wget
yum remove docker docker-common docker-selinux docker-engine #删除旧的引用
yum install -y yum-utils device-mapper-persistent-data lvm2 #安装软件包
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo #配置仓库地址
yum list docker-ce --showduplicates | sort -r #检查docker版本,可以查看一下现在最新版本有哪一些
yum install docker-ce -y #安装最新版本
#启动docker并且开机启动
systemctl start docker
systemctl enable docker
docker安装好之后,安装一个web管理后台,来可视化操作一些东西。才用portainer管理。
docker pull portainer/portainer #拉取镜像
docker volume create portainer_data #创建数据卷
docker run -d --name portainer -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data --restart=always portainer/portainer #启动容器
然后通过 http://112.74.100.3:9000访问,进入之后,设置管理员密码,选择local本机模式,进入首页。
安装compose
yum -y install epel-release
yum -y install python-pip
pip install --upgrade pip
pip install --upgrade setuptools
pip install docker-compose
docker-compose version
使用goharbor搭建harbor.https://github.com/goharbor/harbor/releases
必须用离线版本,下载要很久。我用的是1.9.1版本。
cd ~
wget https://github.com/goharbor/harbor/releases/download/v1.9.1/harbor-offline-installer-v1.9.1.tgz
tar -zxvf harbor-offline-installer-v1.9.1.tgz
cd harbor
vim harbor.yml #进入修改密码
./install.sh #安装
上面的nginx监听了80端口,转到harbor 管理页面。没有更改密码的话,密码是Harbor12345
三、安装gitlab
通过compose安装,在portainer里面就是用Stacks。
新增一个gitlab的statcks 。其中网络选择了跟harbor一个局域网,这样方便互相访问,也可以不用
version: '2' services: gitlab: image: 'twang2218/gitlab-ce-zh:9.4' restart: always hostname: 'gitlab' network_mode: harbor_harbor environment: TZ: 'Asia/Shanghai' GITLAB_OMNIBUS_CONFIG: | external_url 'http://gitlab.ivinbo.com' gitlab_rails['gitlab_shell_ssh_port'] = 2022 #unicorn['port'] = 8888 nginx['listen_port'] = 80 ports: - '2080:80' - '20443:443' - '2022:22' volumes: - vm-git-etc:/etc/gitlab - vm-git-opt:/var/opt/gitlab - vm-git-log:/var/log/gitlab
稍等一段时间,就可以访问了,通过ip端口就可以访问后台了。
如果要实用域名的话,就要购买 https证书,然后cd /root/harbor/common/config/nginx 进入修改nginx的配置。
nginx的配置去哪里修改,通过查看nginx容器的容器卷得到,这里已经安装了一个nginx容器,就不需要额外安装了。
harbor和gitlab的具体使用,不再教授。
至于其他发服务器,需要使用harbor和gitlab的话,通常需要https结合证书,如果需要的购买一个。需要给harbor配置证书的话,就直接配置在nginx.conf配置文件上。如何配置,不再指导。配置好的内容,记得备份下来保存。
假如需要gitlab的nginx配置,如下
server { listen 8443 ssl; server_name gitlab.xxx.com; #access_log /var/log/nginx/gitlab.log; ssl_certificate /etc/cert/gitlab.ivinbo.com.crt; ssl_certificate_key /etc/cert/gitlab.ivinbo.com.key; #add_header Access-Control-Allow-Origin *; #add_header Access-Control-Allow-Headers X-Requested-With; #add_header Access-Control-Allow-Methods GET,POST,OPTIONS; location / { proxy_pass http://gitlab_gitlab_1:80/; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; #proxy_set_header X-Forwarded-Proto $scheme; client_max_body_size 500m; proxy_buffering off; proxy_request_buffering off; #proxy_http_version 1.1; #proxy_set_header Upgrade $http_upgrade; #proxy_set_header Connection $http_connection; #proxy_set_header Origin * ; } } server { listen 8080; server_name gitlab.xxx.com; #access_log /var/log/nginx/gitlab.log; location / { proxy_pass http://gitlab_gitlab_1:80/; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; #proxy_set_header X-Forwarded-Proto $scheme; client_max_body_size 500m; proxy_buffering off; proxy_request_buffering off; #proxy_http_version 1.1; #proxy_set_header Upgrade $http_upgrade; #proxy_set_header Connection $http_connection; #proxy_set_header Origin * ; } }