docker 安装常用软件命令集
docker的使用越来越广泛,我们在日常开发中也经常会用到,使用docker安装一些常用的软件是比较方便的,在安装这些软件的过程中,我们很难记住那些命令及配置,因此我把常用的一些软件安装命令记录下来,在需要的时候方便使用,后续持续更新。
注意: -v挂载目录在linux/mac与windows下有所不同,请自行修改。
1.安装mysql
docker run -d \
-p 3306:3306 \
--name mysql \
--restart=always \
-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 \
--requirepass 123456 \
redis redis-server /etc/redis/redis.conf --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
- 命令解释:
-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