linux下部署docker,容器里面部署jenkins、mysql

Docker 安装:

1.安装依赖包: sudo yum install -y yum-utils device-mapper-persistent-data lvm2

2.添加docker 下载源地址,设置下载源为阿里云: sudo yum-config-manager --add-repo mirrors.aliyun.com/dock

可能会报错:Invalid configuration value: failovermethod=priority in /etc/yum.repos.d/CentOS-epel.repo; Configuration: OptionBinding with id "failovermethod" does not exist

vim /etc/yum.repos.d/CentOS-epel.repo

failovermethod=priority 注释

3.更新yum缓存 sudo yum makecache fast

这块可能会报错 :yum makecache: error: argument timer: invalid choice: 'fast' (choose from 'timer')

yum makecache fast 是 centos 7 下的命令,并不适用 8

解决方法执行:dnf makecache

4.安装不指定版本docker : sudo yum install docker-ce

5.或者指定版本安装 sudo yum install docker-ce-17.12.1.ce

docker配置

Docker安装在linux系统上实际也是一个应用,需要先启动服务

  • 查看docker版本 docker version
  • 加入开机启动项 sudo systemctl enable docker #systemctl代表系统设置项
  • 查看状态 sudo systemctl status docker
  • 启动docker sudo systemctl start docker
  • 停掉服务# sudo systemctl stop docker
  • 4.卸载docker

sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-selinux docker-engine-selinux docker-engine

Docker的常用命令:


1.搜索镜像:docker search tomcat
2.拉取镜像:docker pull tomcat 3.查看本地镜像文件:docker images 4.运行镜像生成容器:docker run -d -p

9999:8080 镜像ID
-d 在后台运行
-p 9999:8080 服务器的端口映射到容器

docker run -d 266d1269bb29 运行容器

如何查看本地正在运行的容器: docker ps
查看容器内部的日志信息。docker logs -f 容器id

进入容器: docker exec -it 容器id /bin/bash exit是退出

启动和停止容器:docker start/stop/restart 容器id



下载mysql容器

比如我想在一台电脑上安装多个mysql服务,只需下载一个mysql镜像,启动多个不同的容器

  • docker pull docker #指定版本docker:5.7
  • 查看本地镜像 docker images
  • 新建容器挂在目录:mkdir -p ~/mysqlvar/mysql/conf ~/mysqlvar/mysql/data
  • 执行启动mysql容器启动服务,和服务挂在文件

docker run -p 3309:3306 --name mysql -v ~/mysqlvar/mysql/conf:/etc/mysql/conf.d -v ~/mysqlvar/mysql/logs:/logs -v ~/mysqlvar/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql

  • 命令说明:
  1. name重命名mysql

-p 3309:3306:将容器的3306端口映射到主机的3309端口。

·-V~/mysqlvar/mysql/conf:/etc/mysql/confd:

将主机~mysqlvar/mysql/conf挂载到容器的/etc/mysql/mycnf

-V~/yoyo/mysql/logs:/logs :将主机~/yoyo/mysl目录挂载到容器的/logs。

-V~/yoyo/mysql/data:/var/lib/mysql:将机~/yoyo/mysql/data目录挂载到容器的/var/lib/mysql。

-e MYSQLROOT PASSWORD=123456:初始化root用户的密码

-d挂后台运行

进入mysql容器执行:docker exec -it mysql bash #mysql也可以是容器ID

进入mysql应用,使用root用户操作 cd /var/lib/mysql

mysql -uroot -p 登录用户

开放对外访问登录权限

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION; //任何远程主机

下载部署jenkins

下载拉去jenkins容器 docker pull jenkins

新建jenkins用户的工作目录,注意这一步最好目录保持一致用来挂在映射:mkdir /home/jenkins

查看目录归属ID命令 ls -nd /home/jenkins

给ID为1000的用户添加操作权限 :chown -R 1000:1000 /home/jenkins

运行容器

docker run -itd -p 9090:8080 -p 50000:50000 --name jenkins --privileged=true -v /home/jenkins:/var/jenkins_home jenkins
  • --privileged=true 让容器有root权限,方便进入容器操作
  • -p 9090:8080 jenkins的web访问端口9090
  • -v /home/jenkins:/var/jenkins_home 容器/var/jenkins_home路径映射到宿主机/home/jenkins

浏览器输入 http://ip:9090/ 访问jenkins首页

访问不通的话,查看防火墙,service iptables status 查看服务器状态

密码地址:/var/jenkins_home/secrets/initialAdminPassword

上面启动容器的时候容器/var/jenkins_home路径映射到宿主机/home/jenkins,在宿主的/home/jenkins/secrets/initialAdminPassword地址可以找到密码

cat /home/jenkins/secrets/initialAdminPassword 复制密码使用

jenkins的使用就看我的另一篇文章。

编辑于 2023-07-12 10:12 ・IP 属地北京

文章被以下专栏收录