创建docker网络
docker network create --subnet=172.21.0.0/24 --gateway=172.21.0.1 my-app #创建桥接网络
docker network ls
docker inspect my-app #查看网络详情或者是容器详情
在同一个桥接网络下可以通过容器名称进行访问 使用的是dns解析
淘汰了links中修改hosts的方式
安装mysql
docker run -p 3306:3306 --name mysql \
--network=my-app \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:5.7.36
配置文件
[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
slow_query_log = ON
slow_query_log_file=/var/log/mysql/mysql.slow
long_query_time=1
lower_case_table_names = 1
安装redis
docker run -p 6379:6379 --name redis \
--network=my-app \
-v /mydata/redis/data:/data \
-v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf \
-d redis redis-server /etc/redis/redis.conf
安装mq
docker run -d --hostname my-rabbit --name rabbitmq \
--network=my-app \
-p 15672:15672 \
-p 5672:5672 \
-e RABBITMQ_DEFAULT_USER=root \
-e RABBITMQ_DEFAULT_PASS=123456 \
-d rabbitmq:management
查看docker容器启动时候执行了什么命令
这个命令只能看到部分信息
docker ps -a --no-trunc
安装nacos
docker run \
--name=nacos \
--hostname=eef5e4e33f9d \
--env=MODE=standalone \
--env=PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin \
--env=PREFER_HOST_MODE=ip \
--env=BASE_DIR=/home/nacos \
--env=CLASSPATH=.:/home/nacos/conf: \
--env=CLUSTER_CONF=/home/nacos/conf/cluster.conf \
--env=FUNCTION_MODE=all \
--env=JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk \
--env=NACOS_USER=nacos \
--env=JAVA=/usr/lib/jvm/java-1.8.0-openjdk/bin/java \
--env=JVM_XMS=1g \
--env=JVM_XMX=1g \
--env=JVM_XMN=512m \
--env=JVM_MS=128m \
--env=JVM_MMS=320m \
--env=NACOS_DEBUG=n \
--env=TOMCAT_ACCESSLOG_ENABLED=false \
--env=TIME_ZONE=Asia/Shanghai \
--volume=/mydata/nacos/logs/:/home/nacos/logs \
--volume=/mydata/nacos/conf/application.properties:/home/nacos/conf/application.properties \
--network=my-app \
--workdir=/home/nacos \
-p 8848:8848 \
-p 9848:9848 \
--restart=no \
--label='org.label-schema.schema-version== 1.0 org.label-schema.name=CentOS Base Image org.label-schema.vendor=CentOS org.label-schema.license=GPLv2 org.label-schema.build-date=20180531' \
--label='org.opencontainers.image.licenses=' \
--label='org.opencontainers.image.revision=3ecf3cd381938b61cbb4d565dd7f1cc2320ea5ee' \
--label='org.opencontainers.image.version=v2.0.3' \
--label='org.opencontainers.image.title=nacos-docker' \
--label='org.opencontainers.image.source=https://github.com/nacos-group/nacos-docker' \
--label='org.opencontainers.image.url=https://github.com/nacos-group/nacos-docker' \
--label='org.opencontainers.image.description=This project contains a Docker image meant to facilitate the deployment of Nacos .' \
--label='org.opencontainers.image.created=2021-07-31T10:05:17.868Z' \
--runtime=runc \
--detach=true \
nacos/nacos-server
安装sentinal
docker run --name sentinel -d -p 8858:8858 bladex/sentinel-dashboard
安装pip
yum install -y python-pip
安装runlike
但是一般linux是python2.x,要先升级到3.x
yum install python3
yum install python3-pip
(如果版本问题: pip3 install —upgrade pip)
pip3 install runlike
就可以使用runlike了
使用runlike 容器名或runlike -p 容器名
pip install runlike
# 格式:runlike -p <容器名>|<容器ID>
安装代码分析工具 sonarqube (docker安装不上)
docker run --name sonar \
--network=my-app \
-e SONAR_ES_BOOTSTRAP_CHECKS_DISABLE=true \
-p 9000:9000 \
-v /mydata/sonar/conf:/opt/sonarqube/conf \
-v /mydata/sonar/extensions:/opt/sonarqube/extensions \
-d sonarqube
mvn sonar:sonar -Dsonar.projectKey=com.jrwp:jmt_mysql -Dsonar.host.url=http://localhost:9000 -Dsonar.login=926d3ebb13fcda1f64a7dabb095e91d8f95a2d5d
安装nginx
docker run -p 80:80 --name nginx \
--network=my-app \
-v /mydata/nginx/html:/usr/share/nginx/html \
-v /mydata/nginx/logs:/var/log/nginx \
-v /mydata/nginx/conf:/etc/nginx \
-d nginx
安装oracle
1、制作镜像文件
1)拉取镜像
docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
2)导出镜像
docker save -o oracle_11g.tar registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g:latest
2、离线安装教程
1)加载镜像
docker load < oracle_11g.tar
2)先创建一个临时容器
docker run --name oracle_temp -p 1500:1521 --privileged=true -d registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g:latest
#把临时容器中的oradata目录拷贝到正式容器要挂在的目录拷贝容器中的oradata目录
mkdir -p /mydata/oracle/data/
docker cp oracle11g:/home/oracle/app/oracle/oradata/ /mydata/oracle/data/
#修改挂载目录所属用户和用户组
chown -R 500:500 /mydata/oracle/
#删除临时容器
docker rm -f oracle11g
3)创建正式容器
命令:docker run --name oracle11g -p 1521:1521 --privileged=true -d -v /mydata/oracle/data/oradata:/home/oracle/app/oracle/oradata registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g:latest
#进入容器
docker exec -it oracle11g bash
#删除
rm -rf /home/oracle/app/oracle/flash_recovery_area/helowin/control02.ctl
#拷贝
cp /home/oracle/app/oracle/oradata/helowin/control01.ctl /home/oracle/app/oracle/flash_recovery_area/helowin/control02.ctl
#退出
exit;
# 重启
docker restart oracle11g
#进入容器
docker exec -it oracle11g bash
#环境变量
source ~/.bash_profile
sqlplus / as sysdba
#登录sqlplus
#修改system用户账号
alter user system identified by oracle;
#修改sys用户账号
alter user sys identified by oracle;
#创建内部管理员账号,创建一个用户名为golaxy_orcl的用户,密码为 oracle_cn
#create user golaxy_orcl identified by oracle_cn;
#将dba权限授权给内部管理员账
#grant connect,resource,dba to golaxy_orcl;
#修改密码规则策略为密码永不过期
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
#修改数据库最大连接数据
alter system set processes=1000 scope=spfile;
shutdown immediate;
startup;