Docker安裝
不同平台安裝方式不同,參考官方文檔: https://docs.docker.com/get-docker/
查看linux版本:
cat /proc/version
(1) $ cat /etc/redhat-release // 僅適用於Redhat系的Linux
CentOS Linux release 7.6.1810 (Core)
(2) $ lsb_release -a // 適用於所有的Linux發行版
LSB Version: :core-4.1-amd64:core-4.1-noarch
Distributor ID: CentOS
Description: CentOS Linux release 7.6.1810 (Core)
Release: 7.6.1810
Codename: Core
啟動docker服務: sudo systemctl start docker
配置docker鏡像源
docker默認的源為國外官方源,下載速度較慢,可改為國內源加速.
修改或新增 /etc/docker/daemon.json
{
"registry-mirrors": ["http://hub-mirror.c.163.com"]
}
Docker國內源說明:
Docker 官方中國區
https://registry.docker-cn.com
網易
http://hub-mirror.c.163.com
中國科技大學
https://docker.mirrors.ustc.edu.cn
阿里雲(需要自行申請)
https://lrrz47i8.mirror.aliyuncs.com
申請地址:
https://cr.console.aliyun.com/cn-hangzhou/instances/repositories
Docker常用命令:
docker run image 創建並啟動容器
docker ps 查看已啟動容器
docker ps -a 查看所有容器
docker stop container 停止容器
docker start container 啟動容器
docker restart container 重啟容器
docker exec container 進入容器(退出后容器不會停止)
docker attach container 進入容器(退出后容器會停止)
docker port container 查看端口映射
docker logs container 查看容器內部標准輸出
docker rm container 刪除容器
docker container prune 刪除所有已停止的容器
docker export 1e560fca3906 > ubuntu.tar 導出容器到快照文件
cat ubuntu.tar | docker import - test/ubuntu:v1 從快照文件導入鏡像
docker images 查看所有本地鏡像
docker pull image 拉取鏡像
docker search image 查找鏡像
docker rmi image 刪除鏡像
Docker拉取jenkins鏡像
docker pull jenkinsci/blueocean
Docker拉取nginx鏡像
docker pull nginx
Centos7配置docker服務開機自啟動:
查看已啟動的服務: systemctl list-units --type=service
查看已設置開機啟動的服務: systemctl list-unit-files | grep enabled
設置docker服務開機啟動: systemctl enable docker.service
關閉docker服務開機啟動: systemctl disable docker.service
查看端口占用情況:
使用ss: ss -lntpd | grep :22
使用netstat: netstat -tnlp | grep :22
配置啟動jenkins服務
在服務器指定路徑新建 docker_home 目錄(目錄名可隨意), 我的docker_home 目錄位於 /root 路徑下, 在docker_home 下新建 jenkins_data 目錄(可隨意)
啟動jenkins服務:
docker run -u root --name jenkins --restart=always -p 8080:8080 -v /root/docker_home/jenkins_data:/var/jenkins_home -v /var/run/docker.sock:/var/run/docker.sock -d jenkinsci/blueocean
Jenkins容器內安裝nodejs和npm:
進入容器: docker exec -it jenkins(或容器id) /bin/bash
安裝nodejs: apk add nodejs
安裝npm: apk add npm
docker run運行成功后,就會在服務器的8080端口啟動jenkins服務,訪問 服務器ip:8080 進入到jinkins安裝流程:
進入Jenkins初始化頁面,第一次啟動時間可能有點長,耐心等待。進入成功后會看到如下畫面,按提示路徑打開密碼文件,輸入密碼. 或者通過 docker logs jenkins-blueocean 命令查看jenkins日志,從日志中或去密碼.
解鎖后又是一長段時間等待,此后可能出現如下圖所示界面:
說明jenkins 處於離線狀態, 點擊跳過插件安裝,接下來就是創建一個管理員賬號了,界面如下:
設置成功后即進入Jenkins主界面:
Jenkins的配置和詳細使用教程,請參考官網 https://www.jenkins.io/zh/download/ 或自行百度
Jenkins下載插件設置國內源
默認源: https://updates.jenkins.io/update-center.json
在下載Jenkins插件時比較慢,可以更換國內源 Jenkins插件清華大學鏡像地址:
https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/current/update-center.json
或
https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
配置啟動nginx:
在docker_home 目錄下新建 nginx_data 目錄(目錄名可隨意), 在nginx_data 目錄下新建conf.d目錄(映射nginx的includ配置文件) , log目錄(映射nginx的日志目錄), www目錄(映射nginx的靜態資源目錄), 和nginx.conf文件(映射nginx的主配置文件)
在conf.d 目錄下新建 default.conf 文件
在log目錄下新建 access.log 和 error.log文件
nginx的具體配置請參考官網學習或自行百度.
使用docker啟動nginx服務:
docker run -u root --name nginx-develop --restart=always -p 80:80 -v /root/docker_home/nginx_data/nginx.conf:/etc/nginx/nginx.conf -v /root/docker_home/nginx_data/conf.d:/etc/nginx/conf.d -v /root/docker_home/nginx_data/log:/var/log/nginx -v /root/docker_home/nginx_data/www:/usr/share/nginx/html -d nginx
注意: 服務器(物理服務器) 斷電或重啟,會導致docker服務停機, ( 如果沒有配置docker服務和相應容器開機自啟動 )這時需要手動重啟docker服務, 然后運行jenkins容器和nginx容器
啟動docker服務: sudo systemctl start docker
查看docker容器: docker ps -a
啟動jenkins容器: docker start jenkins
啟動nginx容器: docker start nginx