docker的使用越來(lái)越廣泛五芝,我們?cè)谌粘i_(kāi)發(fā)中也經(jīng)常會(huì)用到猛频,使用docker安裝一些常用的軟件是比較方便的,在安裝這些軟件的過(guò)程中秘遏,我們很難記住那些命令及配置丘薛,因此我把常用的一些軟件安裝命令記錄下來(lái),在需要的時(shí)候方便使用,后續(xù)持續(xù)更新邦危。
注意: -v掛載目錄在linux/mac與windows下有所不同洋侨,請(qǐng)自行修改。
1.安裝mysql
docker run -d \
-p 3306:3306 \
--name mysql \
--restart=always \
-e TZ=Asia/Shanghai \
-e MYSQL_ROOT_PASSWORD=123456 \
-v /opt/docker/mysql/log:/var/log/mysql \
-v /opt/docker/mysql/data:/var/lib/mysql \
-v /opt/docker/mysql/conf:/etc/mysql/conf.d \
mysql
- 命令解釋:
-d 后臺(tái)運(yùn)行
-p 3306:3306 端口映射,宿主機(jī)端口:容器端口倦蚪。
--name mysql 指定該容器名稱希坚,查看和進(jìn)行操作都比較方便。
--restart=always 隨docker的啟動(dòng)而啟動(dòng)
-e MYSQL_ROOT_PASSWORD 設(shè)置數(shù)據(jù)庫(kù)密碼
-v 掛載目錄(宿主機(jī)目錄:容器目錄)陵且,規(guī)則與端口映射相同(注意:映射路徑需要根據(jù)自己的情況修改)裁僧。
2.安裝redis
docker run -d \
-p 6379:6379 \
--name redis \
--restart=always \
-v /data/redis/redis.conf:/etc/redis/redis.conf \
-v /data/redis/data:/data \
redis redis-server /etc/redis/redis.conf --requirepass 123456 --appendonly yes
-
命令解釋
-d 后臺(tái)運(yùn)行
-p 6379:6379 端口映射,宿主機(jī)端口:容器端口。
--name redis 指定該容器名稱慕购,查看和進(jìn)行操作都比較方便聊疲。
--restart=always 隨docker的啟動(dòng)而啟動(dòng)
-v 掛載目錄,規(guī)則與端口映射相同脓钾。(注意redis需要先在宿主機(jī)目錄中新建一個(gè)redis.conf文件才能映射,配置內(nèi)容請(qǐng)參考下方)
--requirepass 設(shè)置密碼(如果不需要密碼可以去掉此項(xiàng),也可以在配置文件中設(shè)置密碼)
redis 表示啟動(dòng)redis鏡像
redis-server /etc/redis/redis.conf 以配置文件啟動(dòng)redis售睹,
appendonly yes 開(kāi)啟redis 持久化 redis.conf
#允許遠(yuǎn)程連接
#bind 127.0.0.1
# 注意在docker中運(yùn)行此項(xiàng)一定要為no桩警,否則會(huì)失敗
daemonize no
protected-mode no
appendonly yes
# 密碼
# requirepass 123456
3.安裝mongodb
docker run -itd \
--name mongo \
--restart=always \
-p 27017:27017 \
mongo --auth
- 命令解釋
-itd 以交互容器方式后臺(tái)運(yùn)行
-p 27017:27017 端口映射,宿主機(jī)端口:容器端口可训。
--name mongo 指定該容器名稱,查看和進(jìn)行操作都比較方便捶枢。
--restart=always 隨docker的啟動(dòng)而啟動(dòng) - 接著使用以下命令進(jìn)入容器握截,添加用戶和設(shè)置密碼,并且嘗試連接烂叔。
docker exec -it mongo mongo admin
# 創(chuàng)建一個(gè)名為 admin谨胞,密碼為 123456 的用戶。
> db.createUser({ user:'admin',pwd:'123456',roles:[ { role:'userAdminAnyDatabase', db: 'admin'},"readWriteAnyDatabase"]});
# 嘗試使用上面創(chuàng)建的用戶信息進(jìn)行連接蒜鸡。
> db.auth('admin', '123456')
4.安裝nginx
docker run -d \
--name nignx \
--restart=always \
-p 80:80 \
-v /docker/nginx/html:/usr/share/nginx/html \
-v /docker/nginx/nginx.conf:/etc/nginx/nginx.conf \
-v /docker/nginx/conf.d:/etc/nginx/conf.d \
-v /docker/nginx/logs:/var/log/nginx \
nginx
- 命令解釋:
-d 后臺(tái)運(yùn)行
-p 80:80 端口映射,宿主機(jī)端口:容器端口胯努。
--name nginx 指定該容器名稱牢裳,查看和進(jìn)行操作都比較方便。
--restart=always 隨docker的啟動(dòng)而啟動(dòng)
-v 掛載目錄(宿主機(jī)目錄:容器目錄)叶沛,規(guī)則與端口映射相同(注意:映射路徑需要根據(jù)自己的情況修改)蒲讯。
5.安裝minio
docker run -d \
-p 9000:9000 \
--name minio \
--restart=always \
-v /mnt/data:/data \
-e "MINIO_ROOT_USER=minio" \
-e "MINIO_ROOT_PASSWORD=minio" \
minio/minio server /data
新版
docker run \
-p 9000:9000 \
-p 9001:9001 \
--name minio1 \
-e "MINIO_ROOT_USER=AKIAIOSFODNN7EXAMPLE" \
-e "MINIO_ROOT_PASSWORD=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY" \
-v /mnt/data:/data \
quay.io/minio/minio server /data --console-address ":9001"
- 命令解釋:
-d 后臺(tái)運(yùn)行
-p 9000:9000 端口映射,宿主機(jī)端口:容器端口。
--name nginx 指定該容器名稱灰署,查看和進(jìn)行操作都比較方便判帮。
--restart=always 隨docker的啟動(dòng)而啟動(dòng)
-v 掛載目錄(宿主機(jī)目錄:容器目錄),規(guī)則與端口映射相同(注意:映射路徑需要根據(jù)自己的情況修改)溉箕。
-e "MINIO_ROOT_USER 用戶名
-e "MINIO_ROOT_PASSWORD 密碼
6.安裝skywalking(使用默認(rèn)h2數(shù)據(jù)庫(kù))
- 安裝server(8.3.0-es6版本根據(jù)實(shí)際情況修改)
docker run -d \
--name skywalking-oap \
-p 1234:1234 \
-p 11800:11800 \
-p 12800:12800 \
-e TZ=Asia/Shanghai \
--restart always \
apache/skywalking-oap-server:8.3.0-es6
- 安裝ui(8.3.0和server版本要一致)
docker run -d --name skywalking-ui \
--restart=always \
-e TZ=Asia/Shanghai \
-p 5000:8080 \
--link skywalking-oap:skywalking-oap \
-e SW_OAP_ADDRESS=skywalking-oap:12800 \
apache/skywalking-ui:8.3.0
7.安裝rabbitMQ
docker run -d --name rabbitmq1
-e RABBITMQ_DEFAULT_USER=用戶名
-e RABBITMQ_DEFAULT_PASS=密碼
-p 15672:15672 -p 5672:5672 rabbitmq:management
8.安裝ranchar-server
docker run --name rancher-server
-d --privileged --restart=unless-stopped \
-p 8080:80 -p 446:443 \
rancher/rancher:latest
9.安裝nacos/mysql(單機(jī)版)
docker run -d \
-e MODE=standalone \
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_SERVICE_HOST=ip \
-e MYSQL_SERVICE_PORT=3306 \
-e MYSQL_SERVICE_USER=數(shù)據(jù)庫(kù)用戶名 \
-e MYSQL_SERVICE_PASSWORD=數(shù)據(jù)庫(kù)密碼 \
-e MYSQL_SERVICE_DB_NAME=數(shù)據(jù)庫(kù)名稱 \
-p 8848:8848 \
--restart=always \
--name nacos \
nacos/nacos-server
10. nacos集群(自行修改配置即可至少三個(gè)節(jié)點(diǎn)才能組成集群)
7848 端口用于節(jié)點(diǎn)選舉來(lái)確定集群領(lǐng)袖(Leader)
9848 1000 客戶端gRPC請(qǐng)求服務(wù)端端口晦墙,用于客戶端向服務(wù)端發(fā)起連接和請(qǐng)求
9849 1001 服務(wù)端gRPC請(qǐng)求服務(wù)端端口,用于服務(wù)間同步等
docker run -d \
--restart=always \
--name nacos1 \
-e MODE=cluster \
-e NACOS_SERVERS="172.27.1.x:8848 172.27.2.x:8848 172.27.3.x:8848" \
-e NACOS_SERVER_IP=172.27.1.x \
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_SERVICE_HOST=數(shù)據(jù)庫(kù)ip \
-e MYSQL_SERVICE_PORT=3306 \
-e MYSQL_SERVICE_USER=用戶名 \
-e MYSQL_SERVICE_PASSWORD=密碼 \
-e MYSQL_SERVICE_DB_NAME=數(shù)據(jù)庫(kù)名稱\
-p 8848:8848 \
-p 7848:7848 \
-p 9848:9848 \
-p 9849:9849 \
nacos/nacos-server