centos7.9安装docker,并安装mysql、redis、jenkins等

实现jenkins部署mysql,redis,nginx,java,vue等项目

基础环境准备

docker里面的项目默认安装在/root/下,如/root/mysql,/root/redis等 

1,centos配置阿里云镜像

# 1. 备份当前的YUM仓库文件
sudo cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

# 2. 删除原有的仓库文件
sudo rm -rf /etc/yum.repos.d/CentOS-Base.repo

# 3. 下载阿里云的仓库配置文件
sudo curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

# 4. 清理缓存
sudo yum clean all

# 5. 生成缓存
sudo yum makecache

2,更新yum插件

yum update -y

安装docker(参考链接)                        

1,如果系统中已经存在旧的Docker,则先卸载

yum remove docker \
    docker-client \
    docker-client-latest \
    docker-common \
    docker-latest \
    docker-latest-logrotate \
    docker-logrotate \
    docker-engine

 2,配置Docker的yum库

        安装一个yum工具

yum install -y yum-utils

        配置Docker的yum源:

yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

         如果上述失效,用这个

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

        安装docker

yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

        docker其他辅助命令

# 启动Docker
systemctl start docker

# 停止Docker
systemctl stop docker

# 重启
systemctl restart docker

# 设置开机自启
systemctl enable docker

# 执行docker ps命令,如果不报错,说明安装启动成功
docker ps

# 可以查看所有的容器
docker ps -a 

        配置阿里云镜像,在首页的产品中,找到阿里云的容器镜像服务ACR

        点击后进入控制台

        找到镜像工具下的镜像加速器

页面向下滚动,即可找到配置的文档说明:

具体命令如下:

# 创建目录
mkdir -p /etc/docker

# 复制内容,注意把其中的镜像加速地址改成你自己的
tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://xxxx.mirror.aliyuncs.com"]
}
EOF

# 重新加载配置
systemctl daemon-reload

# 重启Docker
systemctl restart docker

2024年6月 国内docker镜像大部分失效了

解决方法是:docker失效替换 

docker安装mysql (参考链接

1,拉取mysql 

docker pull mysql:5.7.36

2,创建数据卷目录

        用于映射docker里面的mysql目录

mkdir -p /root/mysql/data /root/mysql/logs /root/mysql/conf

 目录自己定义,最好在数据盘新建,在/root/mysql/conf中创建 *.cnf 文件

# 进入mysql配置目录
cd /root/mysql/conf
# 新增my.cnf配置文件
touch my.cnf

3,添加自定义配置

# 添加配置
[client]
default-character-set=utf8

[mysql]
default-character-set=utf8

[mysqld]
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
skip-name-resolve
max_connections=1000
#lower_case_table_names保持和windows一致,不区分大小写,按需配置
lower_case_table_names=1
#有时要执行很大的sql初始库脚本
max_allowed_packet=2048M

4,执行安装命令

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 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7.36

        参数解释 

  • 【-p 3306:3306 --name mysql \ 】将容器的3306端口映射到主机的3306端口,'\'指换行符,下同
  • 【-v /mydata/mysql/log:/var/log/mysql \ 】将配置文件夹挂载到主机,冒号左边为Linux的目录结构,右边为docker内部的
  • 【-v /mydata/mysql/data:/var/lib/mysql \ 】 将日志文件夹挂载到主机
  • 【-v /mydata/mysql/conf:/etc/mysql \ 】 将配置文件夹挂载到主机
  • 【-e MYSQL_ROOT_PASSWORD=123456 \】初始化用户root,密码为:123456
  • 【-d mysql:5.7.36 】mysql版本

5,启动mysql 

# 启动mysql
docker start mysql

# 重启mysql
docker restart mysql

# 停止mysql
docker stop mysql

# 查看mysql状态
docker stats mysql

# 设置mysql为docker 自启动
docker update mysql --restart=always

 docker安装redis(参考链接

1,拉取redis 

docker pull redis:6.2.6

2,创建数据卷目录

mkdir -p /root/redis/conf /root/redis/data

3,执行安装命令

docker run -itd --name redis --restart=always --log-opt max-size=100m --log-opt max-file=2 -p 6379:6379 -v /data/redis/conf/redis.conf:/etc/redis/redis.conf -v /data/redis/data:/data  redis:6.2.6 redis-server /etc/redis/redis.conf --appendonly yes  --requirepass 123456 

        参数解释 

  • 【 --restart=always】 开机启动,失败也会一直重启;
  • 【–log-opt max-size=100m】意味着一个容器日志大小上限是100M;
  • 【–log-opt max-file=2】意味着一个容器有2个日志,分别是id+.json、id+1.json;
  • 【-p 6379:6379】 将宿主机6379端口与容器内6379端口进行映射;
  • 【-v】 将宿主机目录或文件与容器内目录或文件进行挂载映射;
  • 【-itd】 i:以交互模式运行容器,通常与 -t 同时使用; t:为容器重新分配一个伪输入终端,通常与 -i 同时使用; d:表示后台启动redis;
  • 【–name】 给容器命名;
  • 【–appendonly yes】 开启redis 持久化;
  • 【–requirepass 123456】 强烈建议设置密码,并且将密码设置为高强度复杂;
  • 【redis-server /etc/redis/redis.conf】 以配置文件启动redis,加载容器内的conf文件;

4,启动redis 

# 启动redis
docker start redis

# 重启redis
docker restart redis

# 停止redis
docker stop redis

# 查看redis状态
docker stats redis

 docker安装nginx(参考链接

        nginx安装有点曲折 

1,拉取nginx

docker pull nginx:1.24.0

2,创建数据卷目录

mkdir -p /root/nginx/conf /root/nginx/log /root/nginx/html

3,拷贝nginx配置

# 生成容器
docker run --name nginx -p 9001:80 -d nginx:1.24.0
# 将容器nginx.conf文件复制到宿主机
docker cp nginx:/etc/nginx/nginx.conf /root/nginx/conf/nginx.conf
# 将容器conf.d文件夹下内容复制到宿主机
docker cp nginx:/etc/nginx/conf.d /root/nginx/conf/conf.d
# 将容器中的html文件夹复制到宿主机
docker cp nginx:/usr/share/nginx/html /root/nginx/

4,删掉旧nginx

# 直接执行docker rm nginx或者以容器id方式关闭容器
# 找到nginx对应的容器id
docker ps -a
# 关闭该容器
docker stop nginx

# 删除该容器
docker rm nginx
# 删除正在运行的nginx容器
docker rm -f nginx

5,执行安装命令

docker run \
-p 80:80 \
--name nginx \
-v /root/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /root/nginx/conf/conf.d:/etc/nginx/conf.d \
-v /root/nginx/log:/var/log/nginx \
-v /root/nginx/html:/usr/share/nginx/html \
-d nginx:1.24.0

        参数解释 

  • 【–name nginx】启动容器的名字
  • 【-d】后台运行
  • 【-p 80:80】    将容器的 80(后面那个) 端口映射到主机的 80(前面那个) 端口
  • 【-v /home/nginx/conf/nginx.conf:/etc/nginx/nginx.conf】挂载nginx.conf配置文件
  • 【-v /home/nginx/conf/conf.d:/etc/nginx/conf.d】 挂载nginx配置文件
  • 【-v /home/nginx/log:/var/log/nginx】挂载nginx日志文件
  • 【-v /home/nginx/html:/usr/share/nginx/html】挂载nginx内容
  • 【nginx:1.24.0】本地运行的版本
  • 【\ 】shell 命令换行

6,启动nginx

# 启动nginx
docker start nginx

# 重启nginx
docker restart nginx

# 停止nginx
docker stop nginx

# 查看nginx状态
docker stats nginx

 docker安装jenkins (参考链接

 1,拉取jenkins

        最好指定后缀,否则是很旧的版本

docker pull jenkins/jenkins:2.450

2,创建数据卷目录

mkdir -p /root/jenkins/home

3,执行安装命令

docker run -d -uroot -p 8899:8080 -p 50000:50000 --name jenkins --privileged=true  -v /root/jenkins/home:/var/jenkins_home --env JAVA_OPTS="-Duser.timezone=GMT+08" jenkins/jenkins:2.450

4,启动jenkins

# 启动jenkins
docker start jenkins

# 重启jenkins
docker restart jenkins

# 停止jenkins
docker stop jenkins

# 查看jenkins状态
docker stats jenkins

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值