Docker常用容器启动命令

docker启动mysql容器

// 拉取镜像
docker pull mysql

// 启动容器
docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456  -v /data/docker-mysql/data:/var/lib/mysql --name mysql mysql:5.7  --restart=always  --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci

docker启动nginx容器

1、启动默认容器

docker run -d -p 80:80 --name geovis-nginx nginx:1.20.0

2、复制容器的nginx.conf到本地

docker cp b9b5c441283f:/etc/nginx/nginx.conf  .

3、删除默认容器

docker rm geovis-nginx

4、修改 nginx.conf文件

user  nginx;
worker_processes  1;

error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    keepalive_timeout  65;

    #gzip  on;

    # 配置跨域
    add_header Access-Control-Allow-Origin *;
    add_header Access-Control-Allow-Headers X-Requested-With;
    add_header Access-Control-Allow-Methods GET,POST,OPTIONS;

    server{
        listen 80;
        server_name localhost;

        location /{
                root /usr/share/nginx/html;
                autoindex on;
        }
    }

5、重新启动容器

docker run -d --name=geovis-nginx --privileged=true --restart=always --net=host -v  /data/geovis/nginx/logs:/var/log/nginx -v  /data/geovis/nginx/html:/usr/share/nginx/html -v /data/geovis/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v  /etc/localtime:/etc/localtime:ro  nginx:1.20.0

6、挂载静态目录
在映射的/data/geovis/nginx/html下创建用户自定义的目录即可

docker启动redis容器

// 拉取镜像
docker pull redis:latest

// 启动容器
docker run -d --name redis --restart=always -p 6379:6379 redis

docker启动postgresql+postgis数据库

// 拉取镜像
docker pull kartoza/postgis:9.6-2.4

// 启动容器
docker run -d -t -p 5432:5432 --name postgresql --restart always -e POSTGRES_USER='postgres' -e POSTGRES_PASS='123456' -e ALLOW_IP_RANGE=0.0.0.0/0  kartoza/postgis:9.6-2.4

docker启动elasticsearch

下载es镜像
新建es文件夹,并创建config、data、plugins3个映射子文件夹。
编写docker-compose.yml文件
启动容器
网页访问:http://47.10.11.41:9200/

docker pull elasticsearch:7.6.1

docker-compose.yml文件内容:

version: '3'
services:
    elasticsearch:
        container_name: es
        image: elasticsearch:7.6.1
        ports:
            - 9200:9200
            - 9300:9300
        restart: always
        network_mode: "host"
        privileged: true
        environment:
            - discovery.type=single-node
            - ES_JAVA_OPTS=-Xms256m -Xmx256m
        volumes:
            - /data/docker/elasticsearch/config:/usr/share/elasticsearch/config
            - /data/docker/elasticsearch/data:/usr/share/elasticsearch/data
            - /data/docker/elasticsearch/plugins:/usr/share/elasticsearch/plugins
docker-compose up -d

docker启动kibana

下载kibana镜像
新建kibana文件夹,并创建config子文件夹,在config文件夹中,新建kibana.yml文件
编写docker-compose.yml文件
启动容器
网页访问:http://47.10.11.41:5601/

docker pull kibana:7.6.1

kibana.yml文件内容(注意修改es的ip和端口):

server.name: kibana
server.host: "0"
elasticsearch.hosts: [ "http://47.10.11.41:9200" ]

docker-compose.yml文件内容:

version: '3'
services:
  kibana:
    container_name: kibana
    image: kibana:7.6.1
    ports:
      - "5601:5601"
    restart: 'always'
    volumes:
    - /data/docker/kibana/config/kibana.yml:/usr/share/kibana/config/kibana.yml
    environment:
      - ELASTICSEARCH_HOSTS=http://47.10.11.41:9200
docker-compose up -d

docker启动es-head

问题:在docker安装了elasticsearch-head:5和elasticsearch:7.6.2之后,打开界面连接es时发现数据无法展示.于是网上查了下原因,说是elasticsearch 7增加了请求头严格校验的原因,并且返回结果是
{undefined
“error” : “Content-Type header [application/x-www-form-urlencoded] is not supported”,
“status” : 406
}
解决方案:

docker cp elasticsearch-head:/usr/src/app/_site/vendor.js  /data/docker/es-head/head/vendor.js

找到vendor.js,修改文件里的两处:
1、6886行
contentType: "application/x-www-form-urlencoded
改成
contentType: “application/json;charset=UTF-8”

2、7573行
var inspectData = s.contentType === “application/x-www-form-urlencoded” &&
改成
var inspectData = s.contentType === “application/json;charset=UTF-8” &&

docker pull mobz/elasticsearch-head:5

docker run -v /data/docker/es-head/head/vendor.js:/usr/src/app/_site/vendor.js -d --name es-head -p 9100:9100  mobz/elasticsearch-head:5

docker启动tomcat

docker pull tomcat:8.5.32

docker-compose.yml 内容:

version: '3'
services:
    tomcat:
        container_name: geovis-tomcat
        image: tomcat:8.5.32
        ports:
            - 8085:8080
        restart: always
        volumes:
            - /data/docker/tomcat/logs:/usr/local/tomcat/logs
            - /data/docker/tomcat/webapps:/usr/local/tomcat/webapps
docker-compose up -d

docker启动rabbitmq

  • 拉取镜像
docker pull rabbitmq:3-management
  • 启动容器
docker run -d --name rabbitmq -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=123456 -p 15672:15672  -p 15674:15674 -p 5672:5672 rabbitmq:3-management
  • 安装Stomp插件
docker exec -it rabbitmq /bin/bash
rabbitmq-plugins enable rabbitmq_web_stomp rabbitmq_web_stomp_examples
  • 访问
    http://127.0.0.1:15672


    1673060566(1).png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容