docker相关
docker安装
- 使用官方安装脚本自动安装
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
- 设置使用国内镜像源
- 修改或新增 /etc/docker/daemon.json
vim /etc/docker/daemon.json
- 添加内容(添加三个源 阿里云,网易, Docker 官方中国区)
{
"registry-mirrors": ["https://pee6w651.mirror.aliyuncs.com", "http://hub-mirror.c.163.com", "https://registry.docker-cn.com"]
}
- 重启docker
systemctl restart docker.service
docker安装mysql
参考地址 https://www.runoob.com/docker/docker-install-mysql.html
- 查看仓库MySQL版本
docker search mysql
- 安装对应版本(不指定默认最新版)
docker pull mysql
- 查看镜像
docker images
![](https://img.haomeiwen.com/i1903589/4bac60d16974761a.png)
- 启动容器
docker run -itd --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=YAFD.2020 mysql
参数说明:
-p 3306:3306 :映射容器服务的 3306 端口到宿主机的 3306 端口,外部主机可以直接通过 宿主机ip:3306 访问到 MySQL 的服务。
MYSQL_ROOT_PASSWORD=YAFD.2020:设置 MySQL 服务 root 用户的密码。
- 查看是否启动成功
docker ps
![](https://img.haomeiwen.com/i1903589/4e8eb2e3b2f40939.png)
- node连接报错
{ Error: ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by
server; consider upgrading MySQL client
原因8.0mysql引入了caching_sha2_password模块作为默认身份验证插件,nodejs还没有跟进
- 解决方法:
# 进入容器
docker exec -it mysql bash
# 登录mysql
mysql -u root -p
# 授权
GRANT ALL ON *.* TO 'root'@'%';
# 刷新权限
flush privileges;
# 更新加密规则:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;
# 更新root用户密码:
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
# 刷新
flush privileges;
docker安装redis
参考地址 https://www.runoob.com/docker/docker-install-redis.html
redis主从和哨兵模式 https://www.cnblogs.com/tomkluas/p/12682489.html
docker pull redis // 拉取最新镜像
docker images // 查看镜像
docker run -itd --name redis -p 6379:6379 redis // 运行redis
docker ps // 查看容器运行信息
docker exec -it redis /bin/bash //通过 redis-cli 连接测试使用 redis 服务。
docker安装mongodb
https://www.runoob.com/docker/docker-install-mongodb.html
https://www.jianshu.com/p/2181b2e27021
studiot 3T下载地址:https://studio3t.com/download/
docker pull mongo
docker run -d -p 27017:27017 -v mongo_configdb:/data/configdb -v mongo_db:/data/db --name mongo docker.io/mongo --auth
$ docker exec -it mongo mongo admin
# 创建一个名为 admin,密码为 123456 的用户。
> db.createUser({ user:'admin',pwd:'123456',roles:[ { role:'userAdminAnyDatabase', db: 'admin'}]});
# 尝试使用上面创建的用户信息进行连接。
> db.auth('admin', '123456')
docker安装nginx
https://www.runoob.com/docker/docker-install-nginx.html
https://www.cnblogs.com/yjlch1016/archive/2019/11/24/11923695.html
https://blog.csdn.net/weixin_40461281/article/details/92586378
# 拉取Nginx官方镜像
docker pull nginx
#先让容器在后台运行,并取个别名为nginx,此时还没有修改配置文件
docker run --name nginx -d nginx
# 将nginx关键目录映射到本机
mkdir -p /root/nginx/www /root/nginx/logs /root/nginx/conf
www: nginx存储网站网页的目录
logs: nginx日志目录
conf: nginx配置文件目录
# 查看nginx-test容器id
docker ps -a
#查看容器内部的配置文件
docker exec nginx ls /etc/nginx
#复制容器内部的配置文件到宿主机,不用事先创建/root/nginx目录
docker cp -a nginx:/etc/nginx/ /root/nginx
#进入/root目录
cd
#给/root/nginx目录赋予最高权限
chmod -R 777 nginx
#删除nginx容器,-f参数是强制删除运行中的容器
docker rm -f nginx
#重新运行容器,并挂载配置文件,映射端口
#这样下次就可以直接修改宿主机的配置文件,然后docker restart nginx重启容器
docker run -p 80:80 --restart always --name nginx -v /root/nginx/:/etc/nginx/ -d nginx
docker run -d -p 80:80 --name nginx -v /root/nginx/www:/usr/share/nginx/html -v /root/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /root/nginx/logs:/var/log -v /root/nginx/:/etc/nginx/ -d nginx
docker run -d -p 80:80 -p 443:443 --name nginx -v /root/nginx/www:/usr/share/nginx/html -v /root/nginx:/etc/nginx -v /root/nginx/logs:/var/log/nginx -v /root/nginx/ssl:/etc/nginx/ssl nginx
#开放宿主机防火墙的80端口
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --reload
#访问
浏览器输入主机ip
docker 安装Jenkins
# 拉取镜像
docker pull jenkins/jenkins // 第一个官方镜像安装插件有可能会报错
# 启动镜像
#查看容器内部的配置文件
docker exec jenkins ls /var/jenkins_home/
#复制容器内部的配置文件到宿主机,不用事先创建/root/nginx目录
docker cp -a jenkins:/var/jenkins_home/ /root/jenkins
#给/root/nginx目录赋予最高权限
chmod -R 777 jenkins
#删除容器,-f参数是强制删除运行中的容器
docker rm -f jenkins
#重新运行容器,并挂载配置文件,映射端口
#这样下次就可以直接修改宿主机的配置文件,然后docker restart jenkins重启容器
docker run -itd -p 8080:8080 -p 50000:50000 --restart always --name jenkins --privileged=true -v /root/jenkins:/var/jenkins_home/ jenkins/jenkins
Jenkins部署node项目
-
git拉取源码失败 : 使用用户名密码方式认证的时候URL地址要用https方式而不是ssh。
image.png
- yarn安装
npm install -g yarn
linux 安装nvm,通过nvm安装node
wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash
source ~/.bashrc
nvm list // 查看当前版本
nvm // 查看所有命令
nvm ls-remote // 查看所有可安装版本
nvm install version // 安装对应的版本
网友评论