mariadb, redis, jar 发布到docker

1.拉取镜像:

https://hub.docker.com/search?q=&type=image

找到对应得镜像,拉取到本地,如果是离线,自己上传上去

 

2. 查看镜像 docker images:

 

3. 启动一个mariadb 实例

mkdir -p /data/mariadb/data 建一个目录作为和容器的映射目录

 

 

启动MariaDB实例很简单:

docker run --name mariadb -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -v /data/mariadb/data:/var/lib/mysql -d mariadb

... wheresome-mariadb是要分配给容器的名称,123456 是要为MySQL根用户设置的密码,请参阅上面的列表以获取相关标签。

 

 

 4. 进入容器

docker exec -it XXX /bin/bash               XXX 为 container id

mysql -uroot -p123456    登录到命令行

 

5. 设置权限,这里参考windows上MySQL的处理  https://www.cnblogs.com/leolzi/p/11497925.html

 GRANT ALL PRIVILEGES ON *.* TO 'root'@'172.10.0.123' IDENTIFIED BY '123456' WITH GRANT OPTION;
 GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
 FLUSH   PRIVILEGES;

6.配置文件修改

    • 从容器中拷贝一份mariadb配置文件(或者是直接创建文件)

      sudo docker cp mariadb:/etc/mysql/conf.d/docker.cnf  /data/mariadb/my.cnf

  • 修改my.cnf,在 [mysqld] 节点下添加

    [mysqld]

    skip-host-cache
    skip-name-resolve

    server-id=1

    log_bin=logs-bin

    expire-logs-days = 14

    max-binlog-size = 50000M

    sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

    thread_cache_size=200

    max_connections=2000

    wait_timeout = 300

    interactive_timeout = 500

    # use cache

    query_cache_size=2048M

    query_cache_type=1

    • 复制master_my.cnf并覆盖master中的my.cnf

      docker cp /data/mariadb/my.cnf mariadb:/etc/mysql/conf.d/docker.cnf

    • 重启master容器

      docker restart mariadb

 

 

09 Redis 镜像安装

9.1 下载配置文件

从官网获取 redis.conf 配置文件,安装要求修改  放到对应的位置 ,并创建目录:mkdir -p /data/redis/data

/data/redis/redis.conf

 修改文件

配置远程访问:

protected-mode yes

注释掉

#bind 127.0.0.1

 

9.2 docker 启动 redis 命令

docker run -p 6379:6379 --name redis -v /data/redis/redis.conf:/etc/redis/redis.conf -v /data/redis/data:/data -d redis redis-server /etc/redis/redis.conf --appendonly yes

命令解释说明:

  • -p 6379:6379 端口映射:前表示主机部分,:后表示容器部分。
  • --name myredis  指定该容器名称,查看和进行操作都比较方便。
  • -v 挂载目录,规则与端口映射相同。
  • -d redis 表示后台启动redis
  • redis-server /etc/redis/redis.conf  以配置文件启动redis,加载容器内的conf文件,最终找到的是挂载的目录/usr/local/docker/redis.conf
  • appendonly yes 开启redis 持久化

9.3 使用 docker exec -it redis /bin/bash进入redis
9.3

 

10. jar 镜像的安装

10.1 拉取镜像:

docker pull java:8u111

10.2 启动容器:

将test.jar放在虚拟机的/usr目录下,然后执行命令启动jar

docker run -d -p 9090:9090 -v /usr/springboot-1.jar:/usr/springboot-1.jar --name springboot java:8u111 java -jar /usr/springboot-1.jar

-d 表示在后台启动

     -p 9090:9090 表示将容器的端口 映射成宿主主机的端口,否则9090端口访问不到

     -v /usr/springboot-1.jar:/usr/springboot-1.jar 表示将宿主主机的jar文件,映射到容器中(分号前为宿主主机的路径,分号后为容器中的路径)

     --name springboot 表示为该容器取一个全局唯一的名称,这里我取的名称为springboot

    java:8u111 表示镜像文件的名称和tag

    java -jar /usr/springboot-1.jar 表示运行jar包,注意:这里的jar包为容器中的位置,是通过前面的-v属性映射的

实例:

docker run -d -p 8133:8133 -v /usr/local/mic/quality/dataquality-service-1.0-SNAPSHOT.jar:/mic/dataquality-service-1.0-SNAPSHOT.jar --name quality java:8u111 java -jar /mic/dataquality-service-1.0-SNAPSHOT.jar

 

11. 启动后忘记命令怎么办:

如:mariadb

docker inspect mariadb



 

posted @ 2020-10-10 10:58  leolzi  阅读(204)  评论(0编辑  收藏  举报