#启动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
#查看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://almtd3fa.mirror.aliyuncs.com"]
}
拉取镜像,然后查看本地镜像,运行容器,查看容器状态,连接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镜像。
#检测自带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 jenkinsci/blueocean
#创建jenkins挂载目录并授权
mkdir -p /var/jenkins_mount
chmod 777 /var/jenkins_mount
#创建并启动Jenkins容器(这里启动我加了很多附加条件,根据自己需要进行调整)
#(这里映射端口、挂载maven、jdk、tomcat和时间目录,注意最后是镜像名字)
#-p:映射端口,前面是服务器端口,后面是镜像端口。
#-v:挂载目录,前面是服务器挂载目录,后面是容器的工作目录
docker run -d -p 8088:8080 \
-v /var/jenkins_mount:/var/jenkins_home \
-v /opt/maven/apache-maven-3.6.3:/opt/maven/apache-maven-3.6.3 \
-v /usr/java/jdk1.8.0_11:/usr/java/jdk1.8.0_11 \
-v /opt/apache-tomcat-8.5.69:/opt/apache-tomcat-8.5.69 \
-v /etc/localtime:/etc/localtime --name Jenkins jenkinsci/blueocean
#进入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;
#查看正在运行的容器
docker ps
#查看所有容器(-a: all)
docker ps -a
#启动暂停容器
docker start 容器id
#暂停指定容器
docker stop 容器id
#删除指定容器
docker rm 容器id
#删除指定镜像
docker rmi 镜像id
#容器启动失败查看日志
docker logs 镜像id