说明: 此文章为docker常用容器启动命令(直接运行命令也可以安装)
系统环境: centos7.9
容器列表:
mysql,redis,mongodb,nacos,zookeeper,dubbo-admin,
portainer-ce,rockermq,rabbitmq,elasticsearch,hbase,
nginx,kafka,oracle 12c
更新中....
1.虚拟机联网,安装yum工具 :
yum install -y yum-utils \
device-mapper-persistent-data \
lvm2 --skip-broken
2.更新本地镜像源:
yum-config-manager \
--add-repo \
https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sed -i 's/download.docker.com/mirrors.aliyun.com\/docker-ce/g' /etc/yum.repos.d/docker-ce.repo
yum makecache fast
3.安装 docker-ce为社区免费版本 :
yum install -y docker-ce
4.通过命令启动docker:
systemctl start docker # 启动docker服务
systemctl stop docker # 停止docker服务
systemctl restart docker # 重启docker服务
docker -v #查看docker版本
5.关闭防火墙:
# 关闭
systemctl stop firewalld
# 禁止开机启动防火墙
systemctl disable firewalld
启动代码:
docker run --restart=always -d
-v /usr/docker/mysql/conf.d/my.cnf:/etc/mysql/my.cnf
-v/usr/docker/mysql/logs:/logs
-v /usr/docker/mysql/data/mysql:/var/lib/mysql
-p 3306:3306 --name mysql
-e MYSQL_ROOT_PASSWORD=root mysql
说明:
容器名称: mysql
挂载目录: -v \mysql\data:/var/lib/mysql \
-v \mysql\log:/var/log/mysql \端口: 3306
账号与密码: root
启动代码:
docker run -itd --name=mysql -v /usr/mysql/conf/my.cnf:/etc/mysql/my.cnf -v /usr/mysql/data:/usr/mysql/data -v /var/log/mysql:/var/log/mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root mysql:5.7.37-oracle
说明:
容器名称: --name mysql
挂载目录:
-v /usr/mysql/conf/my.cnf:/etc/mysql/my.cnf
-v /usr/mysql/data:/usr/mysql/data
-v /var/log/mysql:/var/log/mysql
端口: 3306
账号与密码: root
启动代码:
docker run --name nacos-standalone-mysql -e MODE=standalone \
--link mysql \
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_SERVICE_HOST=192.168.44.129 \
-e MYSQL_SERVICE_PORT=3306 \
-e MYSQL_SERVICE_DB_NAME=nacos_config \
-e MYSQL_SERVICE_USER=root \
-e MYSQL_SERVICE_PASSWORD=root \
-p 8848:8848 -p 9848:9848 -d nacos/nacos-server:latest
说明:
nacos数据表创建sql_z_xiaoluan的博客-CSDN博客_nacos sql
容器名称: --name nacos
挂载目录: (需配置mysql地址)
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_SERVICE_HOST=192.168.44.129 \
-e MYSQL_SERVICE_PORT=3306 \
-e MYSQL_SERVICE_DB_NAME=nacos_config \端口: -p 8848:8848 -p 9848:9848
账号与密码: nacos
启动代码:
docker run --name mongo -v /mymongo/data:/data/db -p 27017:27017 -d mongo:4.0
docker run --link mongo:mongo -p 8081:8081 -d mongo-express
说明:
容器名称: --name mongo
挂载目录:
-v /mymongo/data:/data/db -p 27017:27017
端口: -p 27017:27017
账号与密码: 无
启动代码:
docker run --name elasticsearch -p 9200:9200 -p 9300:9300 \
-e "discovery.type=single-node" \
-e ES_JAVA_OPTS="-Xms1024m -Xmx2048m" \
-v /usr/docker/elasticsearch/config:/usr/share/elasticsearch/config \
-v /usr/docker/elasticsearch/data:/usr/share/elasticsearch/data \
-v /usr/docker/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
-d elasticsearch:8.5.3
说明:
容器名称: --name elasticsearch
启动环境: -e "discovery.type=single-node" \
-e ES_JAVA_OPTS="-Xms256m -Xmx512m" \挂载目录:
-v /mydata/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v /mydata/elasticsearch/data:/usr/share/elasticsearch/data \
-v /mydata/elasticsearch/plugins:/usr/share/elasticsearch/plugins \端口: -p 9200:9200 -p 9300:9300 \
账号与密码: 无
启动代码:
docker run --name kibana --link=elasticsearch:elasticsearch --restart=always -p 5601:5601 -v /usr/docker/kibana/config:/usr/share/kibana/config \
-v /usr/docker/kibana/data:/usr/share/kibana/data \
-v /usr/docker/kibana/plugins:/usr/share/kibana/plugins \
-v /usr/docker/kibana/logs:/usr/share/kibana/logs \
-d kibana:8.5.3
说明:
容器名称: --name kibana
启动环境: --link=elasticsearch:elasticsearch
端口: -p 5601:5601
账号与密码: 无
启动代码:
docker run -d \
--name dubbo-admin \
-v /workspace/software/dubbo/data:/data \
-p 9600:8080 \
-e admin.registry.address=zookeeper://192.168.44.129:2181 \
-e admin.config-center=zookeeper://192.168.44.129:2181 \
-e admin.metadata-report.address=zookeeper://192.168.44.129:2181 \
--restart=always \
docker.io/apache/dubbo-admin
说明:
容器名称: --name dubbo-admin
启动环境:(需配置zookeeper地址)
-e admin.registry.address=zookeeper://192.168.44.129:2181 \
-e admin.config-center=zookeeper://192.168.44.129:2181 \
-e admin.metadata-report.address=zookeeper:/192.168.44.129:2181 \
挂载目录:
-v /workspace/software/dubbo/data:/data \
端口: -p 9600:8080
账号与密码: 无
启动代码:
docker run -d -p 8000:8000 -p 9000:9000 --name=portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce
说明:
容器名称: --name=portainer
启动环境:
--restart=always
挂载目录:
-v /var/run/docker.sock:/var/run/docker.sock
-v portainer_data:/data
端口: -p 8000:8000 -p 9000:9000
账号与密码: 无
docker run -e "JAVA_OPTS=-Drocketmq.namesrv.addr=192.168.44.129:9876 -Dcom.rocketmq.sendMessageWithVIPChannel=false" -p 8181:8080 -t apacherocketmq/rocketmq-console:2.0.0
说明:
容器名称: --name=portainer
启动环境:
-e "JAVA_OPTS=-Drocketmq.namesrv.addr=192.168.44.129:9876 -Dcom.rocketmq.sendMessageWithVIPChannel=false"
端口: -p 8181:8080
账号与密码: 无
启动代码:
docker run \
-e RABBITMQ_DEFAULT_USER=itcast \
-e RABBITMQ_DEFAULT_PASS=123321 \
--name mq \
--hostname mq1 \
-p 15672:15672 \
-p 5672:5672 \
-d \
rabbitmq:3-management
说明:
容器名称: --name mq
启动环境:
-e RABBITMQ_DEFAULT_USER=itcast \
-e RABBITMQ_DEFAULT_PASS=123321 \
--hostname mq1端口: -p 15672:15672 -p 5672:5672 \
账号与密码: 无
启动代码:
docker run -d --name hbase -p 2181:2181 -p 60000:60000 -p 60010:60010 -p 60020:60020 -p 60030:60030 -p 16010:16010 docker.io/harisekhon/hbase:1.3
说明:
容器名称: --name hbase
端口: -p 2181:2181 -p 60000:60000
-p 60010:60010 -p 60020:60020
-p 60030:60030 -p 16010:16010
账号与密码: 无
启动代码:
docker run --name zookeeper -p 2181:2181 --restart always -d zookeeper:3.7.0
说明:
容器名称: --name zookeeper
端口: -p 2181:2181
账号与密码: 无
启动代码:
docker run -itd --name redis -p 6379:6379 --restart=always redis
配置文件启动:
docker run -p 6379:6379 --name redis
-v /usr/docker/redis/conf:/etc/redis/redis.conf
-v /usr/docker/redis/data:/data -d redis redis-server --appendonly yes
说明:
容器名称: --name redis
端口: -p 6379:6379
账号与密码: 无
从官网获取 redis.conf 配置文件
cd /opt/redis //进入目录 wget http://download.redis.io/redis-stable/redis.conf //下载redis配置文件 vim redis.conf //修改配置文件
- bind 127.0.0.1 #注释掉这部分,这是限制redis只能本地访问
- protected-mode no #默认yes,开启保护模式,限制为本地访问
- daemonize no#默认no,改为yes意为以守护进程方式启动,可后台运行,除非kill进程(可选),改为yes会使配置文件方式启动redis失败
- dir ./ #输入本地redis数据库存放文件夹(可选)
- appendonly yes #redis持久化(可选)
启动代码:
docker run -itd --name nginx -e TZ="Asia/Shanghai" -p 80:80 --restart=always nginx
说明:
容器名称: --name nginx
启动环境: -e TZ="Asia/Shanghai"
端口: -p 80:80
账号与密码: 无
启动代码:
docker run -itd --name kafka -p 9092:9092 --link zookeeper -e KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181 -e KAFKA_ADVERTISED_HOST_NAME=127.0.0.1 -e KAFKA_ADVERTISED_PORT=9092 -e TZ="Asia/Shanghai" -v /etc/localtime:/etc/localtime --restart=always wurstmeister/kafka:latest
说明:
容器名称: --name kafka
启动环境:
--link zookeeper
-e KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181
-e KAFKA_ADVERTISED_HOST_NAME=127.0.0.1
-e KAFKA_ADVERTISED_PORT=9092
-e TZ="Asia/Shanghai"
挂载目录: -v /etc/localtime:/etc/localtime
端口: -p 9092:9092
账号与密码: 无
启动代码:
docker run -d -p 8080:8080 -p 5500:5500 -p 1521:1521 -v /home/gugu/oradata:/u01/app/oracle --name oracle-base mritschel/oracle12cr2_base
说明:
容器名称: --name oracle-base
挂载目录: -v /home/gugu/oradata:/u01/app/oracle
端口: -p 8080:8080 -p 5500:5500 -p 1521:1521
账号与密码: 无
Docker安装RocketMQ详细教程_技术砖家--Felix的博客-CSDN博客_docker安装rocketmq
docker run -d --restart=always --name broker --link nameServer:namesrv -p 10911:10911 -p 10909:10909 --privileged=true -v /usr/docker/rocketmq/data/broker/logs:/root/logs -v /usr/docker/rocketmq/data/broker/store:/root/store -v /usr/docker/rocketmq/conf/broker.conf:/opt/docker/rocketmq/broker.conf -e "NAMESRV_ADDR=namesrv:9876" -e "MAX_POSSIBLE_HEAP=200000000" rocketmqinc/rocketmq sh mqbroker -c /opt/docker/rocketmq/broker.conf
mkdir -p \
/usr/docker/rocketmq/data/broker/logs \
/usr/docker/rocketmq/data/broker/store \
/usr/docker/rocketmq/conf/broker.conf
docker run -d --restart=always --name rmqadmin -e "JAVA_OPTS=-Drocketmq.namesrv.addr=122.112.145.138:9876 -Dcom.rocketmq.sendMessageWithVIPChannel=false" -p 8080:8080 pangliang/rocketmq-console-ng
配置docker中容器自启:
docker update 容器的id号 --restart=always
进入容器镜像内部:
docker exec -it 容器的名字 /bin/bash
docker容器命令
命令 说明 docker ps 查看运行的容器 docker run xxx xxx运行容器名称或者镜像id 里面还有很多参数到下面会说 docker rm -f xxx 删除容器 xxx是容器名称 -f是强制删除容器 docker exec -it xxx /bin/bash 进入容器内部 xxx是容器名称 docker cp 容器id:容器内部目录 宿主机目录 容器内部拷贝文件到宿主机 docker start 容器id或名称 启动一个指定的容器 可以多个 docker stop 容器id或名称 停止一个指定的容器 可以多个 docker restart 容器id或名称 重启一个指定的容器 可以多个 docker inspect 容器id或名称 查看容器信息