docker相关配置
- 镜像配置
[root@dawn docker]# sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": [
"https://hub.atomgit.com",
"https://do.nark.eu.org",
"https://dc.j8.work",
"https://docker.m.daocloud.io",
"https://dockerproxy.com",
"https://docker.mirrors.ustc.edu.cn",
"https://docker.nju.edu.cn"
]
}
EOF
[root@dawn docker]# systemctl daemon-reload
[root@dawn docker]# systemctl restart docker
mysql5.7安装
- 下载镜像
[root@dawn docker]# docker pull mysql:5.7
- 创建配置文件
[root@dawn mysql]# pwd
/root/docker/mysql
[root@dawn mysql]# tree
.
├── conf
│ └── my.cnf
└── data
[root@dawn mysql]# cat conf/my.cnf
[client]
default_character_set=utf8
[mysql]
default_character_set=utf8
[mysqld]
character_set_server=utf8
- 启动容器
[root@dawn mysql]# docker run --name mysql \
-e MYSQL_ROOT_PASSWORD=a123456 \
-v /root/docker/mysql/log:/var/log/mysql \
-v /root/docker/mysql/data:/var/lib/mysql \
-v /root/docker/mysql/conf:/etc/mysql/conf.d \
-dp 3306:3306 mysql:5.7
- 进入mysql客户端,创建库
[root@dawn mysql]# docker exec -it mysql mysql -uroot -pa123456
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.43 MySQL Community Server (GPL)
Copyright (c) 2000, 2023, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> show variables like '%character%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.01 sec)
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows in set (0.00 sec)
mysql> create database nacos;
Query OK, 1 row affected (0.00 sec)
mysql> use nacos;
Database changed
- 查看宿主机中挂载的目录
[root@dawn mysql]# cd /root/docker/mysql/data
[root@dawn data]# ls
auto.cnf ca.pem client-key.pem ibdata1 ib_logfile1 mysql nacos private_key.pem server-cert.pem sys
ca-key.pem client-cert.pem ib_buffer_pool ib_logfile0 ibtmp1 mysql.sock performance_schema public_key.pem server-key.pem
安装nacos-1.4.1
- 下载镜像
[root@dawn mysql]# docker pull nacos/nacos-server:1.4.1
- 启动临时nacos镜像,复制配置内容到宿主机
[root@dawn mysql]# docker run --name nacos -dp 8848:8848 \
-e MODE=standalone \
nacos/nacos-server:1.4.1
[root@dawn nacos]# cd /root/docker/nacos/
[root@dawn docker]# mkdir nacos
[root@dawn docker]# cd nacos
[root@dawn nacos]# docker cp nacos:/home/nacos/conf/application.properties ./
-
修改配置文件内容
-
初始化nacos连接的数据库配置脚本 github.com/alibaba/nac…
-
删除正在运行的临时容器
[root@dawn nacos]# docker rm -f nacos
- 启动nacos容器
[root@dawn nacos]# docker run --name nacos \
-e MODE=standalone \
-v /root/docker/nacos/application.properties:/home/nacos/conf/application.properties \
-dp 8848:8848 \
nacos/nacos-server:1.4.1
Mongodb 安装
为了使用mongodb副本集的某些特性,通常需要启动多个mongodb服务作为副本集成员,而在学习或者开发阶段笔记本资源比较有限。鉴于此,官方文档给了解决办法,可以直接将一个单节点mongodb服务转换为单节点副本集(standlone replica set)www.mongodb.com/docs/manual…
- 拉取镜像
[root@dawn vagrant]# docker pull mongo:6.0.2
- 启动临时容器并复制配置文件
# 权限配置
[root@dawn conf]# chown -R 999:999 /root/docker/mongodb
# 启动临时容器copy配置文件
[root@dawn data]# docker cp mongo://etc/mongod.conf.orig /root/docker/mongodb/conf/
Successfully copied 2.56kB to /root/docker/mongodb/conf/
修改配置文件
[root@dawn data]# cd ../conf
[root@dawn conf]# mv mongod.conf.orig mongod.conf
[root@dawn conf]# vim mongod.conf
storage:
dbPath: /srv/mongodb/db0
journal:
enabled: true
# where to write logging data.
systemLog:
destination: file
logAppend: true
path: /var/log/mongodb/mongod.log
# network interfaces
net:
port: 27017
bindIp: 0.0.0.0
# how the process runs
processManagement:
timeZoneInfo: /usr/share/zoneinfo
replication:
replSetName: rs0
运行容器
docker run -itd --name mongo-rs \
-p 27017:27017 \
-v /root/docker/mongodb/log:/var/log/mongodb \
-v /root/docker/mongodb/data:/srv/mongodb/db0 \
-v /root/docker/mongodb/conf/mongod.conf:/etc/mongod.conf \
mongo:6.0.2 --config /etc/mongod.conf
配置副本集
docker exec -it mongo-rs mongosh
rs.initiate()
# ---
test> rs.initiate()
{
info2: 'no configuration specified. Using a default configuration for the set',
me: 'dc4482d574a9:27017',
ok: 1
}
客户端无法连接问题
在单节点副本集下,本机既是主也是从,在容器的mongo shell中可进行查看, members只有一个成员,其name为"dc4482d574a9:27017",而本地启动的这个副本集无法识别f76081e20602这个host。
副本集成员host的识别问题,那么在初始化mongodb副本集时,我们可以显式的去指定成员host,不使用默认的副本集配置。具体而言,将启动步骤中的第三步更改为:
rs0 [direct: primary] admin> rs.status()
{
... ...
members: [
{
_id: 0,
name: 'dc4482d574a9:27017',
health: 1,
state: 1,
stateStr: 'PRIMARY',
uptime: 215,
optime: { ts: Timestamp({ t: 1725725894, i: 1 }), t: Long("2") },
optimeDate: ISODate("2024-09-07T16:18:14.000Z"),
lastAppliedWallTime: ISODate("2024-09-07T16:18:14.042Z"),
lastDurableWallTime: ISODate("2024-09-07T16:18:14.042Z"),
syncSourceHost: '',
syncSourceId: -1,
infoMessage: '',
electionTime: Timestamp({ t: 1725725683, i: 1 }),
electionDate: ISODate("2024-09-07T16:14:43.000Z"),
configVersion: 1,
configTerm: 2,
self: true,
lastHeartbeatMessage: ''
}
],
... ...
}
test> conf = {
_id : "rs0",
members: [
{ _id: 0, host: "192.168.10.200:27017" },
]
}
{ _id: 'rs0', members: [ { _id: 0, host: '192.168.10.200:27017' } ] }
test> rs.initiate(conf)
{ ok: 1 }
skywalking 安装
- 拉取skywalking-oap、skywalking-ui镜像
docker pull apache/skywalking-oap-server:9.2.0
docker pull apache/skywalking-ui:9.2.0
- 启动oap
docker run -d --name skywalking-oap \
-p 12800:12800 \
-p 11800:11800 \
apache/skywalking-oap-server:9.2.0
- 启动UI
docker run -d --name skywalking-ui \
-p 8080:8080 \
-e SW_OAP_ADDRESS=http://skywalking-oap:12800 \
--link skywalking-oap \
apache/skywalking-ui:9.2.0