本地虚拟机docker开发环境快速搭建提示命令

本文详细介绍了如何使用Docker配置多种环境,包括Oracle、MySQL、MongoDB、Redis、Zookeeper、Tomcat、RabbitMQ、Rancher和RocketMQ。涵盖了从镜像拉取、容器运行、端口映射到环境变量设置的全过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

更新容器为开机自启动命令
docker update --restart=always xxx
一、oracle环境:
1.准备docker环境;

2 . docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g --pull 镜像(6个多G)
容器内部 root密码 helowin

3.docker run -d -p 1521:1521 -v /docker-data/oracle:/data/oracle --name oracle11 --restart=always registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g --运行oracle镜像并映射本地1521端口;

4.docker exec -it oracle11 /bin/bash --进入容器;

5.配置环境变量,使用root 配置/etc/profile ,增加以下内容,
这样在root用户下也可以使用sqlplus命令了:
su root

export PATH ORACLE_BASE=/home/oracle/app/oracle;export ORACLE_BASE ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_2;export ORACLE_HOME ORACLE_SID=helowin;export ORACLE_SID ORACLE_TERM=xterm;export ORACLE_TERM PATH=/usr/sbin:$PATH; export PATH PATH=$ORACLE_HOME/bin:$PATH; export PATH LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH

6.保存后执行source /etc/profile 加载环境变量,root环境生效;

7.su - oracle 切换到oracle用户下执行数据库相关用户的修改与配置信息的修改;
source ~/.bash_profile 生效当前用户的环境变量
sqlplus /nolog
conn /as sysdba
alter user system identified by oracle;–修改system用户账号;
alter user sys identified by oracle;–修改sys用户账号;
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED; --修改密码规则策略为密码永不过期;
alter system set processes=1000 scope=spfile; --修改数据库最大连接数据;

8.修改以上信息后,需要重新启动数据库;
sqlplus /nolog
conn /as sysdba
shutdown immediate; --关闭数据库
startup; --启动数据库

9.退出docker后可使用pl/sql等客户端工具进行测试。

二、mysql环境:
注意指定配置文件 my.cnf和设置好root的密码
vim /etc/mysql/my.cnf
[client]
port=3306
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
character_set_server=utf8
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
#下面这行配置大小写不敏感
lower_case_table_names=1
server_id = 100
log-bin=mysql-bin

docker run --name mysql -p 3306:3306 --privileged=true -ti -e MYSQL_ROOT_PASSWORD=root -v /docker-data/mysql3306/conf:/etc/mysql/conf.d -v /docker-data/mysql3306/data/:/var/lib/mysql -v /docker-data/mysql3306/logs/:/var/log/mysql -d mysql:5.7 --lower-case-table-names=1

高级目录映射 --privileged=true 代表可以访问宿主机的目录,不然有点情况下可能没有权限
docker run --name mysql3307 -p 3307:3306 --privileged=true -ti -e MYSQL_ROOT_PASSWORD=123456 -e MYSQL_DATABASE=enjoy -e MYSQL_USER=user -e MYSQL_PASSWORD=pass -v /home/mysql/docker-data/3307/conf:/etc/mysql/conf.d -v /home/mysql/docker-data/3307/data/:/var/lib/mysql -v /home/mysql/docker-data/3307/logs/:/var/log/mysql -d mysql:5.7

阿里云上
docker run --name mysql-3307-aliyun -p 3307:3306 --privileged=true -ti -e MYSQL_ROOT_PASSWORD=root -v /docker-data/mysql-3307-aliyun/conf:/etc/mysql/conf.d -v /docker-data/mysql-3307-aliyun/data/:/var/lib/mysql -v /docker-data/mysql-3307-aliyun/logs/:/var/log/mysql -d mysql:8.0.20 --lower-case-table-names=1
注意最后面的 --lower-case-table-names=1加上,忽略大小写

三、mongodb环境
docker run -d --name mongo -p 27017:27017 -v /docker-data/mongo:/data/db --restart=always mongo

四、reids环境

docker run -d --name redis -p 6379:6379 --restart=always redis

如果需要密码末尾加上 --requirepass “123456”

五、zookeeper环境
docker run -d --name zk -p 2181:2181 --restart=always zookeeper

docker run -dit --name zookeeper -p 2181:2181 --restart=always
-v /docker-data/zookeeper/data:/data
-v /docker-data/zookeeper/conf:/conf
-v /docker-data/zookeeper/logs:/datalog zookeeper

六、tomcat环境
docker run -dit --name tomcat8080 -p 8080:8080 -v /docker-data/tomcat/8080:/usr/local/tomcat/webapps tomcat

七、安装rabbitmq
docker run -d --name myRabbitmq -p 5672:5672 -p 15672:15672 -v /data:/var/lib/rabbitmq --hostname myRabbitHostName -e RABBITMQ_DEFAULT_VHOST=my_vhost -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin 6e50ab4d9a6c
说明:
-d 后台运行容器;
–name 指定容器名;
-p 指定服务运行的端口(5672:应用访问端口;15672:控制台Web端口号);
-v 映射目录或文件;
–hostname 主机名(RabbitMQ的一个重要注意事项是它根据所谓的 “节点名称” 存储数据,默认为主机名);
-e 指定环境变量;(RABBITMQ_DEFAULT_VHOST:默认虚拟机名;RABBITMQ_DEFAULT_USER:默认的用户名;RABBITMQ_DEFAULT_PASS:默认用户名的密码)

浏览器访问:http://192.168.100.168:15672/ 账号密码为:admin/admin

八、Rancher安装
首先保证数据库的安装

docker run -d -p 3306:3306 -v /docker-data/mysql/mydata/data:/var/lib/mysql -v /docker-data/mysql/mydata/conf:/etc/mysql -v /docker-data/mysql/mydata/log:/var/log/mysql -e MYSQL_ROOT_PASSWORD=root --name mysql --restart=always mysql:5.7

mysql > CREATE DATABASE IF NOT EXISTS cattle COLLATE = ‘utf8_general_ci’ CHARACTER SET = ‘utf8’;
mysql > GRANT ALL ON cattle.* TO ‘cattle’@‘%’ IDENTIFIED BY ‘root’;
mysql > GRANT ALL ON cattle.* TO ‘cattle’@‘localhost’ IDENTIFIED BY ‘root’;

注意一点:如果mysql是容器提供的服务, host要改成宿主机的ip地址
docker run -d --restart=unless-stopped -p 8081:8080 --name myrancher rancher/server:stable --db-host 172.17.0.1 --db-port 3306 --db-user ‘cattle’ --db-pass ‘root’ --db-name cattle

访问地址:http://101.91.124.199:8081/ 账号密码:root/root

九、
docker搭建rocketmq
查找镜像
docker search rocketmq
启动NameServer:
docker run -d -p 9876:9876 --name rmqserver foxiswho/rocketmq:server-4.5.1
启动broker:Broker容器中默认的配置文件的路径为:
/etc/rocketmq/broker.conf
docker run -d -p 10911:10911 -p 10909:10909
–name rmqbroker --link rmqserver:namesrv
-e “NAMESRV_ADDR=namesrv:9876” -e “JAVA_OPTS=-Duser.home=/opt”
-e “JAVA_OPT_EXT=-server -Xms128m -Xmx128m”
foxiswho/rocketmq:broker-4.5.1

管理工具
docker run -d --name rmqconsole -p 8180:8080 --link rmqserver:namesrv
-e “JAVA_OPTS=-Drocketmq.namesrv.addr=namesrv:9876
-Dcom.rocketmq.sendMessageWithVIPChannel=false”
-t styletang/rocketmq-console-ng
测试:访问 localhost:8180

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值