这是我参与更文挑战的第17天,活动详情查看: 更文挑战 😄
安装
1、安装依赖
docker依赖于系统的一些必要的工具,可以提前安装。
yum install -y yum-utils device-mapper-persistent-data lvm2
2、添加软件源
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
3、安装docker-ce
yum -y install docker
4、启动服务
通过systemctl启动服务
systemctl start docker
5、查看安装版本
这样子就安装成功了,启动服务以后可以使用docker version查看一下当前的版本。
docker version
systemctl status docker
安装mysql
1.
docker pull mysql:5.7
docker images
2.创建mysql容器
在本地创建mysql的映射目录
mkdir -p /root/mysql/data /root/mysql/logs /root/mysql/conf
cd /root/mysql/conf中创建 *.cnf 文件(叫什么都行)
touch my.cnf
创建容器,将数据,日志,配置文件映射到本机
docker run -p 3306:3306 --name mysql -v /root/mysql/conf:/etc/mysql/conf.d -v /root/mysql/logs:/logs -v /root/mysql/data:/var/lib/mysql -v /root/mysql/mysqld.cnf:/etc/mysql/mysql.conf.d/mysqld.cnf -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7
-d: 后台运行容器
-p 将容器的端口映射到本机的端口
-v 将主机目录挂载到容器的目录
-e 设置参数
6、查看容器的运行日志
docker logs myMysql
启动mysql容器
docker start mysql
f
启动 systemctl start docker
守护进程重启 sudo systemctl daemon-reload
重启docker服务 systemctl restart docker
重启docker服务 sudo service docker restart
关闭docker service docker stop
关闭docker systemctl stop docker
docker start :启动一个或多个已经被停止的容器
docker stop :停止一个运行中的容器
docker restart :重启容器
docker rm 容器ID 删除某一容器 //停止容器--》删除容器--》删除镜像
docker inspect 3646dab192ee | more 查看容器详情
查看/root/mysql/data目录是否有数据文件
https://blog.csdn.net/qq_31659985/article/details/80701769
r4:root root
安装maven:
vim /etc/profile
export MAVEN_HOME=/usr/local/apache-maven-3.5.4
export MAVEN_HOME
export PATH=$PATH:$MAVEN_HOME/bin
source /etc/profile
// 安装java8
#set java environment
JAVA_HOME=/usr/lib/jvm/jre-1.6.0-openjdk.x86_64
PATH=$PATH:$JAVA_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME CLASSPATH PATH
二、 安装ngixn https://blog.csdn.net/weixin_40461281/article/details/92586378
2020.11.21 mkdir -p /root/nginx/www /root/nginx/logs /root/nginx/conf
docker pull nginx
docker run --name nginx -p 80:80 -d nginx
docker exec -it nginx bash 进入容器
nginx.conf配置文件在 /etc/nginx/ 下面,但是你使用vim nginx.conf 或者vi nginx.conf会发现vi或者vim命令没有用,解决办法:apt-get update 完成之后 apt-get install vim
docker stop nginx
docker start nginx
命令:docker run --name nginx -p 80:80 -v /home/docker-nginx/nginx.conf:/etc/nginx/nginx.conf -v /home/docker-nginx/log:/var/log/nginx -v /home/docker-nginx/conf.d/default.conf:/etc/nginx/conf.d/default.conf -d nginx
解释下上面的命令:
--name 给你启动的容器起个名字,以后可以使用这个名字启动或者停止容器
-p 映射端口,将docker宿主机的80端口和容器的80端口进行绑定
-v 挂载文件用的,第一个-v 表示将你本地的nginx.conf覆盖你要起启动的容器的nginx.conf文件,第二个表示将日志文件进行挂载,就是把nginx服务器的日志写到你docker宿主机的/home/docker-nginx/log/下面
第三个-v 表示的和第一个-v意思一样的。
-d 表示启动的是哪个镜像
vim /root/nginx/conf
mkdir -p /root/nginx/www /root/nginx/logs /root/nginx/conf
docker run -d -p 80:80 --name nginx-web -v /root/nginx/www/dist:/usr/share/nginx/html -v /root/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /root/nginx/logs:/var/log/nginx nginx
二、 安装gitlab : 安装git yum -y install git
# gitlab-ce为稳定版本,后面不填写版本则默认pull最新latest版本
$ docker pull gitlab/gitlab-ce
$ docker run -d -p 443:443 -p 80:80 -p 222:22 --name gitlab --restart always -v /home/gitlab/config:/etc/gitlab -v /home/gitlab/logs:/var/log/gitlab -v /home/gitlab/data:/var/opt/gitlab gitlab/gitlab-ce
# -d:后台运行
# -p:将容器内部端口向外映射
# --name:命名容器名称
# -v:将容器内数据文件夹或者日志、配置等文件夹挂载到宿主机指定目录
按上面的方式,gitlab容器运行没问题,但在gitlab上创建项目的时候,生成项目的URL访问地址是按容器的hostname来生成的,也就是容器的id。作为gitlab服务器,我们需要一个固定的URL访问地址,于是需要配置gitlab.rb(宿主机路径:/home/gitlab/config/gitlab.rb)。
# gitlab.rb文件内容默认全是注释
vim /home/gitlab/config/gitlab.rb
# 配置http协议所使用的访问地址,不加端口号默认为80
external_url 'http://192.168.199.231'
# 配置ssh协议所使用的访问地址和端口
gitlab_rails['gitlab_ssh_host'] = '192.168.199.231'
gitlab_rails['gitlab_shell_ssh_port'] = 222 # 此端口是run时22端口映射的222端口
:wq #保存配置文件并退出
三、 安装gitlab runner
curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.rpm.sh |sudo bash &&
yum install -y gitlab-runner &&
sed -i 's#/home/gitlab-runner#/data/gitlab-runner#' /etc/systemd/system/gitlab-runner.service &&
sed -i 's#"--user" "gitlab-runner"#"--user" "www"#' /etc/systemd/system/gitlab-runner.service &&
systemctl daemon-reload &&
systemctl start gitlab-runner
docker run -d --name gitlab-runner --restart always -v /srv/gitlab-runner/config:/etc/gitlab-runner -v /var/run/docker.sock:/var/run/docker.sock gitlab/gitlab-runner:latest
3、执行注册绑定gitlab的web端gitlab-runner信息
docker exec gitlab-runner gitlab-runner register
四、配置gitlab邮箱服务
1、进入容器
docker exec -it gitlab bash
2、修改gitlab配置文件
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.qq.com"
gitlab_rails['smtp_port'] = 9299
gitlab_rails['smtp_user_name'] = "121768729@qq.com"
gitlab_rails['smtp_password'] = "Ransong121768"
gitlab_rails['smtp_domain'] = "mai_service"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = false
gitlab_rails['gitlab_email_enabled'] = true
gitlab_rails['gitlab_email_from'] = '121768729@qq.com'
gitlab_rails['gitlab_email_display_name'] = 'Gitlab'
#如果邮箱服务没有开启ssl则取消ssl验证 添加下条内容
gitlab_rails['smtp_openssl_verify_mode'] = 'none'
3、重载配置
gitlab-ctl reconfigure
4、进入Rails控制台验证邮件是否发送成功
gitlab-rails console production
Notify.test_email('ransongv587@dingtalk.com', 'Message Subject', 'Message Body').deliver_now
5.
进入你的gitlab ——> settings —— > CI/CD ——> Runners
这里主要是记住第地址和 第令牌 的值
3.2 注册
gitlab-runner register
3.2.1 输入你的gitlab的URL
上一步记录的第2的值
3.2.2 输入token
输入上一步记录的第3 的值
3.2.3 输入描述
输入runner 的描述,自己看着写,后期可以改
3.2.4 输入tag
输入标签,这里输入 pibigstar
3.2.5 询问是否在未加标签的Build上运行
我这里选择的 true,默认为 false。
3.2.6 询问是否锁定最近项目
默认为 false,直接回车
3.2.7 运行平台
提示你注册成功,输入runner要运行的平台和方式,这里我输入docker,回车
3.2.8 输入运行的docker镜像
输入runner需要在那个镜像下运行,因为我要运行 go项目,所以我输入的是 go:1.13
这里我运行的是java : maven:3-jdk-8
3.2.9 完成注册
DEV
Development environment
开发环境,用于开发者调试使用
FAT
Feature Acceptance Test environment
功能验收测试环境,用于软件测试者测试使用
UAT
User Acceptance Test environment
用户验收测试环境,用于生产环境下的软件测试者测试使用
PRO
Production environment
生产环境
五、dokcer安装docker可视化界面: portainer
docker run -d -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock portainer/portainer
账号: admin 密码 r1
六、dokcer安装jenkins
安装master
docker run -u root -itd -p 8080:8080 -p 50000:50000 -v /var/jenkins_home:/var/jenkins_home -v /var/run/docker.sock:/var/run/docker.sock --name jenkins-master jenkinsci/blueocean
安装slave
docker pull registry.cn-beijing.aliyuncs.com/codepipeline/jenkins-slave-java:latest
docker run -itd -p 30001:22 registry.cn-beijing.aliyuncs.com/codepipeline/jenkins-slave-java:latest
安装插件
六、dokcer安装spark
docker pull sequenceiq/spark:latest
docker run -it docker.io/sequenceiq/spark:latest
// 进入 可以根据find / -name spark找到该目录
cd /var/lib/docker/overlay2/46eb90d74fd65ecce175f8510255d59a8577a4aa8a96f5f8ca462706412d3dcd/diff/usr/local/spark-1.1.1-bin-hadoop2.4/examples/src/main/java/org/apache/spark
// 在spark目录下创建input文件夹,创建1.txt和2.txt,随便输入几个单词 以空格分开
//执行脚本 需要安装java环境
bin/spark-shell
// textFile读取input文件目录,形成一行一行的字符串数据
// flatMap扁平化处理,以空格分隔
// 分组:通过key聚合(key=单词,value出现次数)
sc.textFile("input").flatMap(_.split(" ")).map((_,1)).reduceByKey(_+_).collect
// 响应
res0: Array[(String, Int)] = Array((Hello,4), (Word,3), (Spark,1))
七、dokcer安装nexus
docker pull sonatype/nexus3
配置宿主机的maven目录,并设置权限
mkdir /opt/nexus-data && chmod -R 777 /opt/nexus-data
启动容器
docker run -d -p 8081:8081 -p 8082:8082 -p 8083:8083 --name
nexus3 -v /opt/nexus-data:/nexus-data --restart=always sonatype/nexus3
查看容器
docker ps docker logs
访问
ip:8081
查看密码:
cd /opt/nexus-data
cat admin.password
登录
admin 并设置密码 admin
设置阿里云镜像:http://maven.aliyun.com/nexus/content/groups/public
设置用户:
随便找一个项目,在pom文件添加
<distributionManagement>
<repository>
<id>nexus-releases</id>
<url>http://47.104.130.105:8081/repository/maven-releases/</url>
</repository>
<snapshotRepository>
<id>nexus-snapshots</id>
<url>http://47.104.130.105:8081/repository/maven-snapshots/</url>
</snapshotRepository>
</distributionManagement>
然后再maven安装目录修改conf下的setting.xml添加,账号密码为刚刚新创建的账号
<server>
<id>nexus-releases</id>
<username>ransong</username>
<password>ransong</password>
</server>
<server>
<id>nexus-snapshots</id>
<username>ransong</username>
<password>ransong</password>
</server>
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>central</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
在项目中执行命令: mvn deploy
可以看到,已经上传成功。
找到使用方法:
在新项目:
<repositories>
<repository>
<id>maven-central</id>
<name>maven-central</name>
<url>http://47.104.130.105:8081/repository/maven-public/</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
<releases>
<enabled>true</enabled>
</releases>
</repository>
</repositories>
这是一期基础版的,我们可以安装mysql,挂载了磁盘,不用配置环境变量,docker容器管理可视化界面非常好用,搭建自己的私有仓库这些都是咱们必备的知识呀!!!!!
真心感谢帅逼靓女们能看到这里,如果这个文章写得还不错,觉得有点东西的话
求点赞👍 求关注❤️ 求分享👥 对8块腹肌的我来说真的 非常有用!!!
如果本篇博客有任何错误,请批评指教,不胜感激 !❤️❤️❤️❤️