docker 安装常用软件命令集

docker的使用越来越广泛,我们在日常开发中也经常会用到,使用docker安装一些常用的软件是比较方便的,在安装这些软件的过程中,我们很难记住那些命令及配置,因此我把常用的一些软件安装命令记录下来,在需要的时候方便使用,后续持续更新。

注意: -v挂载目录在linux/mac与windows下有所不同,请自行修改。

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 后台运行
    -p 3306:3306 端口映射,宿主机端口:容器端口。
    --name mysql 指定该容器名称,查看和进行操作都比较方便。
    --restart=always 随docker的启动而启动
    -e MYSQL_ROOT_PASSWORD 设置数据库密码
    -v 挂载目录(宿主机目录:容器目录),规则与端口映射相同(注意:映射路径需要根据自己的情况修改)。

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 后台运行
    -p 6379:6379 端口映射,宿主机端口:容器端口。
    --name redis 指定该容器名称,查看和进行操作都比较方便。
    --restart=always 随docker的启动而启动
    -v 挂载目录,规则与端口映射相同。(注意redis需要先在宿主机目录中新建一个redis.conf文件才能映射,配置内容请参考下方)
    --requirepass 设置密码(如果不需要密码可以去掉此项,也可以在配置文件中设置密码)
    redis 表示启动redis镜像
    redis-server /etc/redis/redis.conf 以配置文件启动redis,
    appendonly yes 开启redis 持久化

  • redis.conf

#允许远程连接
#bind 127.0.0.1
# 注意在docker中运行此项一定要为no,否则会失败
daemonize no 
protected-mode no
appendonly yes  
# 密码
# requirepass 123456 

3.安装mongodb

docker run -itd \
--name mongo \
--restart=always \
-p 27017:27017 \
mongo --auth
  • 命令解释

    -itd 以交互容器方式后台运行
    -p 27017:27017 端口映射,宿主机端口:容器端口。
    --name mongo 指定该容器名称,查看和进行操作都比较方便。
    --restart=always 随docker的启动而启动

  • 接着使用以下命令进入容器,添加用户和设置密码,并且尝试连接。
docker exec -it mongo mongo admin
# 创建一个名为 admin,密码为 123456 的用户。
>  db.createUser({ user:'admin',pwd:'123456',roles:[ { role:'userAdminAnyDatabase', db: 'admin'},"readWriteAnyDatabase"]});
# 尝试使用上面创建的用户信息进行连接。
> 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 后台运行
    -p 80:80 端口映射,宿主机端口:容器端口。
    --name nginx 指定该容器名称,查看和进行操作都比较方便。
    --restart=always 随docker的启动而启动
    -v 挂载目录(宿主机目录:容器目录),规则与端口映射相同(注意:映射路径需要根据自己的情况修改)。

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 后台运行
    -p 9000:9000 端口映射,宿主机端口:容器端口。
    --name nginx 指定该容器名称,查看和进行操作都比较方便。
    --restart=always 随docker的启动而启动
    -v 挂载目录(宿主机目录:容器目录),规则与端口映射相同(注意:映射路径需要根据自己的情况修改)。
    -e "MINIO_ROOT_USER 用户名
    -e "MINIO_ROOT_PASSWORD 密码

6.安装skywalking(使用默认h2数据库)

  • 安装server(8.3.0-es6版本根据实际情况修改)
 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(单机版)

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=数据库用户名 \
-e MYSQL_SERVICE_PASSWORD=数据库密码 \
-e MYSQL_SERVICE_DB_NAME=数据库名称 \
-p 8848:8848 \
--restart=always \
--name nacos \
nacos/nacos-server

10. nacos集群(自行修改配置即可至少三个节点才能组成集群)

7848 端口用于节点选举来确定集群领袖(Leader)
9848 1000 客户端gRPC请求服务端端口,用于客户端向服务端发起连接和请求
9849 1001 服务端gRPC请求服务端端口,用于服务间同步等

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=数据库ip \
-e MYSQL_SERVICE_PORT=3306 \
-e MYSQL_SERVICE_USER=用户名 \
-e MYSQL_SERVICE_PASSWORD=密码 \
-e MYSQL_SERVICE_DB_NAME=数据库名称\
-p 8848:8848 \
-p 7848:7848 \
-p 9848:9848 \
-p 9849:9849 \
nacos/nacos-server

未完待续,后期更新!

你可能感兴趣的:(docker 安装常用软件命令集)