由于工作需要,要求在服務器上搭建Gogs,雖說整個過程不算困難,但是也以此記錄一下整個完成過程,后續有需要時方便查看。
1.安裝docker
-更新apt-get源
? ??????sudo apt-get update
-安裝包允許apt-get通過htts使用倉庫
? ??????sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
-添加docker官方GPG Key
? ??????curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
-設置docker穩定版本倉庫
? ??????sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
-設置完成后,重新更新apt源
? ??????sudo apt-get update
--此時,可能會出現報錯:
--如若出現上圖錯誤,修改?/etc/apt/sources.list 文件,加入以下內容:
? ??????deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable
-由于上述出錯,導致會在 /etc/apt/sources.list.d/ 生成一個一個錯誤的文件,找到該文件,并刪除它
-刪除完成后,再次執行apt-get源更新
? ??????sudo apt-get update
-安裝最新版本的docker-ce(ce為免費社區版)
? ??????sudo apt-get install docker-ce
-安裝完成后,可以鍵入下面命令來查看啟動狀態
? ??????sudo systemctl status docker
效果類似下圖,則說明安裝成功
-配置阿里云docker鏡像加速
mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://j3qp5gr4.mirror.aliyuncs.com"]
}
EOF
systemctl daemon-reload
systemctl restart docker? ??????
-運行hello world鏡像
? ??????sudo docker container run hello-world
? ? ? ? 出現Hello form Docker!字樣則說明成功
2.安裝部署 Gogs
-首先確定Gogs數據庫使用mysql,所以需要拉取一個mysql的鏡像
? ??????sudo docker pull mysql/mysql-server:latest
-啟動mysql容器
? ? ? ? sudo docker run -d --restart always -e MYSQL_ROOT_PASSWORD=123456 --name mysql -v $PWD/mysql/my.cnf:/etc/mysql/my.cnf -v $PWD/mysql/data:/var/lib/mysql -p 4406:3306 mysql/mysql-server:latest
? ? ? ? 該命令將宿主機4406端口轉發到容器的3306端口,并建立數據庫賬號root、密碼為123456
-進入mysql鏡像創建名為gogs的數據庫
? ??????sudo docker exec -it 1c41202db329 /bin/sh? ? ? ? (加粗部分為容器ID,可能會有差異,填寫自己的)
? ? ? ? mysql -u root -p
? ? ? ??CREATE DATABASE gogs;
? ? ? ? show databases;
? ? ? ? --給外部授權訪問
? ??????use mysql;
????????update user set host='%' where user ='root';
? ??????FLUSH PRIVILEGES;
? ??????GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION;
-拉取gogs鏡像
? ??????sudo docker pull gogs/gogs
-運行gogs鏡像
? ??????sudo docker run -d --name=mygogs -p 10022:22 -p 8888:3000 -v /var/gogs:/data gogs/gogs
-瀏覽器訪問:ip地址:8888會出現gogs的安裝頁面
? ? ? ? 數據庫選擇mysql,主機輸入:內網ip:4406(上述步驟將宿主機4406端口轉發至mysql鏡像的3306端口了)
? ? ? ? 賬戶root 密碼123456(上述步驟中設置值)數據庫名稱 gogs
? ? ? ? 域名、應用URL均填寫為:ip地址:8888
-訪問:ip地址:8888即可訪問