1.nginx示例
1.创建容器
1.查看是否有nginx镜像
docker images
2.如果没有镜像,可以搜索镜像
docker search nginx
3.指定版本拉取nginx
docker pull nginx:1.20.0
4.查看镜像
docker images
5.创建容器(-d后台运行,-p容器80端口映射到宿主机8080端口,指定名称nginx-test,指定镜像ID:7ab27dbbfbdf)
docker run -d -p 8080:80 --name nginx-test 7ab27dbbfbdf
6.查看容器
docker ps
7.尝试访问
问题一:
防火墙未开启:
1.查看防火墙状态
systemctl status firewalld
2.启动防火墙
systemctl start firewalld
3.放开8080端口
firewall-cmd --zone=public --add-port=8080/tcp
2.进入容器(仅参考)
1.进入容器
docker exec -it nginx-test /bin/bash
2.进入配置文件
cd /etc/nginx
3.修改配置文件
vim nginx.conf
问题一:
没有vim命令
1.同步 /etc/apt/sources.list 和 /etc/apt/sources.list.d 中列出的源的索引,这样才能获取到最新的软件包(如失败,重启docker)
apt-get update
2.安装vim命令
apt-get install vim
问题二:
安装速度慢
# 进入apt文件夹
cd /etc/apt
# 备份
cp sources.list sources.list.bak
#执行命令 更改apt-get
echo "">sources.list
echo "deb http://ftp2.cn.debian.org/debian/ buster main">>sources.list
echo "deb http://ftp2.cn.debian.org/debian/debian-security buster/updates main">>sources.list
echo "deb http://ftp2.cn.debian.org/debian/debian buster-updates main">>sources.list
#更改完成后执行命令
apt-get update
# 如果不管用 执行以下命令 改回
rm sources.list
mv sources.list.bak sources.list
3.映射目录
1.在宿主机创建nginx相关文件夹(/home下)
mkdir nginx
cd nginx
mkdir conf
mkdir logs
mkdir html
2.复制容器的配置(将/etc/nginx下所有文件 复制到/home/nginx/conf下 注意: /.)
docker cp -a nginx-test:/etc/nginx/. /home/nginx/conf
3.停止容器
docker stop nginx-test
4.删除容器
docker rm nginx-test
5.重新创建容器,并映射目录(宿主机目录:docker容器目录)
docker run -d -p 8080:80 --name nginx-test --restart always --privileged=true -v /home/nginx/conf/:/etc/nginx/ -v /home/nginx/logs:/var/log/nginx -v /home/nginx/html:/usr/share/nginx/html 7ab27dbbfbdf
6.在html文件夹下放入测试用的index.html
4.index.html
<!DOCTYPE html>
<html>
<head>
<title>Welcome to HEHAI!</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style>
*{
padding: 0px;
margin: 0px;
}
.time{
width: 100%;
height: auto;
z-index: 99;
font-size: 60px;
text-align: center;
margin-top: 10%;
color: rgb(94,166,240);
font-weight: 800;
}
.container{
width: 100%;
height: 100%;
position: absolute;
background-size: 100% 100%;
}
</style>
</head>
<body>
<div class="container" >
<div class="time" id="time">
</div>
</div>
</body>
<script type="text/javascript">
var mynow = new Date();//默认的获取的是当前时间
//通过调用日期对象的方法来重新获取当前的日期时间
//mynow.setFullYear(2016);
var year = mynow.getFullYear();//获取年
var month = mynow.getMonth()+1;//获取月
var day = mynow.getDate();//获取日
var hour =mynow.getHours();//获取小时
var minute =mynow.getMinutes();//获取分钟
var second =mynow.getSeconds();//获取秒
var strdate = year+"年"+month+"月"+day+"日 "+hour+":"+minute+":"+second;
document.getElementById("time").innerHTML=strdate;
console.log(strdate)
</script>
</html>
2.redis示例
1.拉取镜像
docker pull redis
2.创建映射文件夹(/home下)
mkdir redis
cd redis
mkdir conf
mkdir data
3.下载redis配置文件redis.conf(也可以先创建一次redis将配置复制出来,参考nginx)
github下载redis找到redis.conf,配置好后将该文件上传到2中创建的conf文件夹下
设置最大内存
maxmemory 1073741824
设置最大内存淘汰策略(参考)
maxmemory-policy
设置密码
requirepass 密码
开启远程访问
注释 bind 127.0.0.1 -::1
修改 protected-mode no
4.创建容器
docker run -d -p 6379:6379 --name redis-test --restart always -v /home/redis/conf/redis.conf:/etc/redis/redis.conf -v /home/redis/data:/data redis:latest redis-server /etc/redis/redis.conf --appendonly yes
3.nacos示例
1.拉取镜像
docker pull nacos/nacos-server:2.0.2
2.创建nacos-mysql数据库
导入nacos-mysql.sql文件
3.创建映射文件夹(/home下)
mkdir nacos
cd nacos
mkdir conf
mkdir logs
mkdir data
4.创建一个临时容器
docker run -d --name nacos01 nacos/nacos-server:2.0.2
5.复制配置文件等
docker cp -a nacos01:/home/nacos/conf/. /home/nacos/conf
docker cp -a nacos01:/home/nacos/logs/. /home/nacos/logs
docker cp -a nacos01:/home/nacos/data/. /home/nacos/data
(可以使用本命令跳过步骤3:docker cp -a nacos01:/home/nacos/. /home/nacos)
6.删除临时容器
docker rm -f nacos
7.创建容器
docker run -d -p 8848:8848 --name nacos-test -e MODE=standalone -e SPRING_DATASOURCE_PLATFORM=mysql -e MYSQL_SERVICE_HOST=192.168.7.8 -e MYSQL_SERVICE_PORT=3306 -e MYSQL_SERVICE_DB_NAME=nacos-mysql -e MYSQL_SERVICE_USER=root -e MYSQL_SERVICE_PASSWORD=123456 -v /home/nacos/conf:/home/nacos/conf -v /home/nacos/logs:/home/nacos/logs -v /home/nacos/data:/home/nacos/data nacos/nacos-server:2.0.2
8.访问要加/nacos/index.html
http://192.168.7.8:8848/nacos/index.html
4.oracle示例
1.拉取镜像
docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
2.创建容器(如果镜像名称过长可以先修改)
docker run -d -p 1521:1521 --name oracle11g 镜像ID
3.进入容器
docker exec -it 容器id /bin/bash
4.切换到root
su root
默认密码:helowin
5.编辑参数
vi /etc/profile
6.在最后加入以下参数
export ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_2
export ORACLE_SID=helowin
export PATH=$ORACLE_HOME/bin:$PATH
7.按esc :wq保存退出
8.加载变量(重要:每次进入容器需要重新加载再进入sqlplus,永久生效参考问题3)
source /etc/profile
9.切换到oracle(必须切换到此用户)
su - oracle
10.登录sqlplus ( sqlplus / as sysdba )
sqlplus /nolog
11.操作系统认证
conn /as sysdba
12.修改sys和system密码
alter user system identified by system;
alter user sys identified by sys;
备注:
关闭数据库
shutdown immediate;
启动数据库
startup;
问题1:
将服务名helowin改为orcl
1.进入sqlplus
2.查看当前服务名
show parameter service_name;
3.修改服务名
alter system set service_names='orcl' scope=both;
问题2:
尝试将sid由helowin更换为orcl
参考:https://blog.csdn.net/Liveor_Die/article/details/105177966
查看当前sid
echo $ORACLE_SID
或执行进入sqlplus之后
select instance from v$thread;
问题3:
将/etc/profile下的环境参数永久生效
1.进入用户的~目录
cd
2.查看.bashrc
ls -al
3.编辑.bashrc
vi .bashrc
4.在文件底部加入 source /etc/profile
5.重启容器
原因:
.bashrc是在系统启动后就会自动运行 profile是在用户登录后才会运行
/etc/profile影响所有用户 .bashrc影响当前用户
标签:示例,redis,nacos,nginx,conf,home,docker
From: https://blog.51cto.com/u_16085354/6314003