赞
踩
#启动docker所有容器
docker start $(docker ps -a | awk '{ print $1}' | tail -n +2)
官方建议内核为3.10及以上;在安装docker需要安装前置软件;
#查看当前内核版本号 uname -r #前置软件安装 yum install -y yum-utils device-mapper-persistent-data lvm2 #设置中央仓库yum源 yum-config-manager --add-repo http://download.docker.com/linux/centos/docker-ce.repo #上面不行就用阿里 yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo #查看docker版本 yum list docker-ce --showduplicates | sort -r #执行安装,结尾是版本号 yum -y install docker-ce-18.03.1.ce #启动docker systemctl start docker #设置docker开机自启动 systemctl enable docker
docker拉取镜像太慢了,所以采用个镜像加速,简单修改配置文件实现。
#docker镜像加速
vim /etc/docker/daemon.json
#添加的源地址
{
"registry-mirrors" : [
"https://registry.docker-cn.com",
"https://docker.mirrors.ustc.edu.cn",
"http://hub-mirror.c.163.com",
"https://cr.console.aliyun.com/"
]
}
#添加后记得加载和重启下
systemctl daemon-reload
systemctl restart docker
一款开源的轻量级容器管理工具,谁用都舒服,而且很清凉。
docker volume create portainer_data #下个中文包(这是我的路径:/home/docker/volume/portainer/pubilc) wget https://github.com/eysp/public/archive/refs/tags/public.tar.gz #拉镜像并安装 docker run -d --restart=always \ --name="portainerUI" \ -p 9000:9000 \ -v /var/run/docker.sock:/var/run/docker.sock \ -v /home/docker/volume/portainer/pubilc:/public \ -v portainer_data:/data \ portainer/portainer-ce:2.9.1 #直接访问9000端口设置完密码,会要求你重启容器 docker restart portainerUI #开个防火墙 firewall-cmd --permanent --add-port=9000/tcp firewall-cmd --reload firewall-cmd --list-all
拉取镜像,然后查看本地镜像,运行容器,查看容器状态,连接oracle进行操作。
#拉取阿里云 oracle 11g镜像及启动
docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
#查看本地镜像
docker images
#运行容器
docker run -d -p 1521:1521 --name oracle-11g 3fa112fd3642
#查看容器状态
docker ps
#进入oracle容器(建议手打)
docker exec -it oracle-11g /bin/bash
先把主系统里的文件复制到容器,然后这里进入后su root可以进入管理员账户(密码:helowin),把文件夹的所有者改成oracle。后续就是【数据泵的操作】
#复制主系统里的文件到容器(cp后紧跟主系统的路径,然后是容器id,冒号后是容器的位置)
docker cp /home/test.sql 8cf9014a034a:/opt/sql
#修改文件夹所有者为oracle用户(xxx表示文件夹路径)
chown -R oracle:oinstall xxx
先部署java和maven,然后安装jenkins镜像。
这里采用源码安装的方式,因为只需要供jenkins调用就好,没必要配置给宿主机。
源码部署只需要解压即可,下面是配置给宿主机的方式。
#检测自带java版本(有的话就不需要部署,但是还是建议用自己公司的开发版本) rpm -qa | grep java #删除没用的版本(检测到自带的没用的就删了,避免冲突) rpm -e --nodeps java-1.7.0-openjdk-1.7.0.191-2.6.15.5.el7.x86_64 java-1.7.0-openjdk-headless-1.7.0.191-2.6.15.5.el7.x86_64 java-1.8.0-openjdk-headless-1.8.0.181-7.b13.el7.x86_64 java-1.8.0-openjdk-1.8.0.181-7.b13.el7.x86_64 #rpm安装(这里的版本是我自己上传的,每个人不一样百度即可) rpm -ivh /opt/jdk-8u11-linux-x64.rpm #配置变量 vim /etc/profile export JAVA_HOME=/usr/java/jdk1.8.0_11 export JRE_HOME=${JAVA_HOME}/jre export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib export PATH=${JAVA_HOME}/bin:$PATH #加载变量 source /etc/profile echo $JAVA_HOME #检测安装结果 java -version
#安装wget yum -y install wget #wget下载maven wget https://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz #解压 tar -zxvf apache-maven-3.6.3-bin.tar.gz #配置环境变量(MAVEN_HOME后面表示maven路径,每个人不一样) vi /etc/profile MAVEN_HOME=/opt/maven/apache-maven-3.6.1 export PATH=${MAVEN_HOME}/bin:${PATH} #加载环境变量 source /etc/profile #查看mvn安装情况 mvn -version
#下拉jenkins中文镜像 docker pull jenkins/jenkins:latest #创建jenkins挂载目录并授权 mkdir -p /var/jenkins_mount chmod 775 /var/jenkins_mount chown -R 1000:1000 /var/jenkins_mount #创建并启动Jenkins容器(这里启动我加了很多附加条件,根据自己需要进行调整) #(这里映射端口、挂载maven、jdk、tomcat和时间目录,注意最后是镜像名字) #-p:映射端口,前面是服务器端口,后面是镜像端口。 #-v:挂载目录,前面是服务器挂载目录,后面是容器的工作目录 docker run -d -p 8088:8080 \ -v /var/jenkins_mount:/var/jenkins_home \ -v /opt/apache-maven-3.6.3:/opt/apache-maven-3.6.3 \ -v /opt/jdk1.8.0_281:/opt/jdk1.8.0_281 \ -v /etc/localtime:/etc/localtime --name jenkins jenkins/jenkins:latest #进入jenkins容器 docker exec -it 容器ID bash
jenkins部署后续的jenkins操作参考这两篇文章:
1.安装jenkins
2.部署gitLab项目
#下载mysql镜像
docker pull mysql:5.7
#创建mysql挂载目录并授权
mkdir -p /opt
mkdir -p /opt/mysql
mkdir -p /opt/mysql/conf/
mkdir -p /opt/mysql/logs/
mkdir -p /opt/mysql/data/
#创建mysql配置文件
vim /opt/mysql/my.cnf
[mysqld]
user=mysql
character-set-server=utf8
default_authentication_plugin=mysql_native_password
secure_file_priv=/var/lib/mysql
expire_logs_days=7
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
max_connections=1000
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
这里我把映射端口改成3307避免本地的mysql冲突,云服务器记得开放端口
#创建容器,并后台启动
docker run --restart=always --privileged=true \
-v /opt/mysql/my.cnf:/etc/mysql/my.cnf \
-v /opt/mysql/logs:/logs \
-v /opt/mysql/data:/var/lib/mysql \
-v /opt/mysql/conf:/etc/mysql/conf.d \
-p 3307:3306 --name my-mysql \
-e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
#本地进入mysql容器(两种方式均可)
docker exec -it 容器ID bash
docker exec -it 容器name /bin/bash
会碰到无法navicate无法连接问题,提示密码已经正常,这是由于5.7要专门开启ip登陆的权限,下面是命令。
#记得先登录mysql(回车输入密码) mysql -u root -p #使用数据库 use mysql; #查询权限 select host, user from user; #给root及其密码权限 GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION; #关闭远程登陆权限 update user set host = "127.0.0.1" where user = "root" and host = "%"; #刷新 flush privileges;
测试navicate连接
yum remove docker-ce docker-ce-cli containerd.io
yum autoremove
yum install docker-ce-19.03.15 docker-ce-cli-19.03.* containerd.io
systemctl start docker
systemctl enable docker
docker --version
#查看正在运行的容器 docker ps #查看所有容器(-a: all) docker ps -a #启动暂停容器 docker start 容器id #暂停指定容器 docker stop 容器id #删除指定容器 docker rm 容器id #删除指定镜像 docker rmi 镜像id #容器启动失败查看日志 docker logs 镜像id
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。