Docker安装
不同平台安装方式不同,参考官方文档: https://docs.docker.com/get-docker/
查看linux版本:
(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