Docker常用镜像,常用容器,以及部署命令

前言   

说明:    此文章为docker常用容器启动命令(直接运行命令也可以安装)

系统环境:  centos7.9

容器列表:

        mysql,redis,mongodb,nacos,zookeeper,dubbo-admin,

                           portainer-ce,rockermq,rabbitmq,elasticsearch,hbase,

                           nginx,kafka,oracle 12c

更新中....


一、Docker安装

 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

二、常用容器

1.mysql:latest 官方最新版

 启动代码:

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

2.mysql:5.7.37

启动代码:

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

3.nacos:latest (挂载到mysql中)

 启动代码: 

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

 4.mongo:4.0和mongo-express(UI控制台)

 启动代码: 

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

         账号与密码:    无

 5.elasticsearch:7.16.3

 启动代码: 

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 \

         账号与密码:    无

6.kibana:7.16.3

 启动代码: 

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

          账号与密码:    无

8.dubbo-admin

启动代码: 

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

          账号与密码:    无

7.portainer/portainer-ce

启动代码: 

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

          账号与密码:    无

 8.rocketmq-console:2.0.0

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

          账号与密码:    无

9.rabbitmq:3-management

启动代码: 

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 \

          账号与密码:    无

 10.hbase:1.3

启动代码: 

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

          账号与密码:    无

 11. zookeeper:3.7.0

启动代码:

docker run --name zookeeper -p 2181:2181 --restart always -d zookeeper:3.7.0

说明:

          容器名称:      --name zookeeper

          端口:             -p 2181:2181

          账号与密码:    无

 12.redis

启动代码:

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持久化(可选)

13.nginx

启动代码:

docker run -itd --name nginx -e TZ="Asia/Shanghai" -p 80:80 --restart=always nginx

 说明:

          容器名称:       --name nginx

          启动环境:       -e TZ="Asia/Shanghai"

          端口:              -p 80:80

          账号与密码:    无

 14.kafka:latest

启动代码:

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

          账号与密码:    无

15. oracle 12c

启动代码:

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

          账号与密码:  无

16.rockmq

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或名称 查看容器信息

你可能感兴趣的:(docker,容器,运维,java,linux)