1、首先安装docker
安装docker之前,先卸载系统原有的docker,具体安装过程这里不再赘述,网上一大堆;docker菜鸟教程
2、系统环境搭建
安装环境之前,先新建网络,所有的容器都在此网络下面
docker network create my-bridge
根据个人习惯,在本地创建docker文件目录,存储容器同步的数据和配置文件

2.1、php安装
docker pull php:7.4.3-fpm
docker run -d --name php -v /home/www/:/home/www/ -v /home/docker/php/conf.d/php.ini:/usr/local/etc/php/conf.d/php.ini --network=my-bridge --restart=always -p 1215:1215 php:7.4.3fpm
注意:此时安装的php没有zip,gd,mysql扩展,需要依次安装。安装之前请先配置阿里云加速器。
安装zip扩展
apt-get update
apt-get install -y libzip-dev
docker-php-ext-install zip
安装gd库扩展
apt update #更新软件源
apt install -y libwebp-dev libjpeg-dev libpng-dev libfreetype6-dev #安装各种库
docker-php-source extract #解压源码
cd /usr/src/php/ext/gd #gd源码文件夹
docker-php-ext-configure gd --with-webp-dir=/usr/include/webp --with-jpeg-dir=/usr/include --with-png-dir=/usr/include --with-freetype-dir=/usr/include/freetype2 #准备编译
docker-php-ext-install gd #编译安装
安装mysqli扩展
docker-php-ext-install pdo_mysql
安装redis扩展
pecl install igbinary
docker-php-ext-enable igbinary
pecl install lzf
docker-php-ext-enable lzf
pecl install -o -f redis
docker-php-ext-enable redis
安装mongdb
apt-get install -y libmongoc-dev
pecl install -o -f mongodb
docker-php-ext-enable mongodb
安装swoole
docker-php-ext-install sockets
pecl install -o -f swoole
docker-php-ext-enable swoole
注释:php.ini 来自容器下这两个文件
docker cp 279fe2119b1d:/usr/local/etc/php/php.ini-development /home/docker/php/conf.d/
docker cp 279fe2119b1d:/usr/local/etc/php/php.ini-production /home/docker/php/conf.d/
最后重启php容器
docker restart php
2.2 msyql安装
docker pull mariadb:10.5.1
docker run --name mariadb -v /home/docker/mysql/conf.d/:/etc/mysql/conf.d -v /home/docker/mysql/data/:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root -p 3306:3306 --network my-bridge --restart=always -d mariadb:10.4.10
2.3 redis安装
docker pull redis:5.0.7
docker run -d --name redis --network my-bridge -p 6379:6379 --restart=always redis:5.0.7 --requirepass 123456
2.4 安装mongodb
docker pull mongo:4.2.1
docker run --name mongodb -v /home/docker/mongodb/data/:/data/db/ -p 27017:27017 --network my-bridge --restart=always -d mongo:4.2.1
2.5 nginx安装
docker pull nginx:1.17.8
docker run -d -p 80:80 --name nginx -v /home/docker/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /home/docker/www/:/home/www -v /home/docker/nginx/conf.d:/etc/nginx/conf.d -v /home/docker/nginx/logs:/var/log/nginx --network=my-bridge --restart=always --link php -- link mysql --link redis --link mongodb nginx:1.17.8
docker 服务器启动自动启动设置
systemctl enable docker.service
容器更新命令
docker update --restart=always <CONTAINER ID>
2.6 jenkins安装
准备工作
# 创建jenkins运行目录:
mkdir /home/docker/jenkins
# 查看目录权限:
ls -nd jenkins/
# 更改目录权限:给uid为1000的权限
chown -R 1000:1000 jenkins/
docker pull jenkins/jenkins
docker run -p 8080:8080 -p 50000:50000 --name jenkins -v /home/docker/jenkins:/var/jenkins_home --network my-bridge --restart=always jenkins/jenkins:latest

3、jenkins持续集成配置
3.1登陆jenkins
界面访问"ip:8080",自动跳转至登录界面,jenkins安装完成后自动跳转到这个页面要求输入密码,根据提示找到登陆密码;

成功获取到密码!复制到输入框。然后进入jenkins安装插件界面,选择建议安装的插件(或者自己去选取插件安装)。

然后设置第一个管理员账户:

完成后进入jenkins主页面。

网友评论