docker常用容器初始化

1、Docker常用命令


启动docker
systemctl start docker
查看docker状态:
systemctl status docker
关闭docekr
systemctl stop docker
开机自启docker
systemctl enable docker
搜索容器镜像:
docker search [redis|tomcat|centos]
下拉容器到本地:
docker pull  [redis|tomcat|centos]
查看镜像:
docker images
删除镜像
docker rmi  $id
10. 开机自启
docker update [mysql]  --restart=always
11. docker监控
docker stats

2、初始化tomcat容器:

 docker run \
      -it \
      -p 8080:8080 \
      -v /usr/local/datas:/usr/local/datas \
      --name mytomcat \
      -d tomcat:7 \ 


3、启动mysql容器:

docker run -p 3306:3306 --name mysql \
 -v /mydata/mysql/log:/var/log/mysql \
 -v /mydata/mysql/data:/var/lib/mysql \
 -v /mydata/mysql/conf:/etc/mysql \
 -e MYSQL_ROOT_PASSWORD=123456 \
 -d mysql:5.7

3.1 远程连接改变编码

 ## 进入容器
 docker exec -it [mysql] /bin/bash
  mysql -uroot -p
  ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';
  # 刷新
  FLUSH PRIVILEGES;

3.2 在/mydata/mysql/conf/ 创建初始化配置文件my.cnf

[client]
default-character-set=utf8

[mysql]
default-character-set=utf8


[mysqld]
init_connect=SET collation_connection = utf8_unicode_ci’
init_connect=SET NAMES utf8’
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
skip-name-resolve

4、启动rabbitmq容器

docker run -d --name rabbitmq \
      -p 5671:5671 \
      -p 5672:5672 \
      -p 4369:4369 \
      -p 25672:25672 \
      -p 15671:15671 \
      -p 15672:15672 \
      rabbitmq:management

解释:
4369、25672 (Erlang发现&集群端口)
5672、5671 (AMQP端口)
15672 (web管理后台端口)
61613、61614 (STOMP协议端口)
1883、8883 (MQTT协议端口)
https://www.rabbitmq.com/networking.html


5、启动elasitcsearch

5.1、 下载镜像

存储和检索数据

docker pull elasticsearch:7.6.2

可视化检索数据

docker pull kibana:7.6.2

5.2、 创建elasticsearch实例

5.2.1、 创建挂载目录

mkdir -p /mydata/elasticsearch/config
mkdir -p /mydata/elasticsearch/data

5.2.2、进入/mydata/elasticsearch/config目录下执行

[root@localhost config]#   echo "http.host:0.0.0.0">>/mydata/elasticsearch/config/elasticsearch.yml

5.2.3、 初始化容器

查看虚拟机可用内存

free -m

docker run --name elasticsearch   -p 9200:9200 -p 9300:9300 \
-e "discovery.type=single-node" \
-e ES_JAVA_OPTS="-Xms64m -Xmx128m" \
-v /mydata/elasticsearch/config/elasticsearch.yml:/user/share/elasticsearch/config/elasticsearch.yml \
-v /mydata/elasticsearch/data:/user/share/elasticsearch/data \
-v /mydata/elasticsearch/plugins:/user/share/elasticsearch/plugins \
-d elasticsearch:7.6.2

解释

--name elasticsearch 给容器的名字
-p 9200:9200 发送http请求分配的端口
-p 9200:9200 分布式节点下的通讯端口
-e "discovery.type=single-node" 单节点运行
-e ES_JAVA_OPTS="-Xms64m -Xmx=128m" 初始内存64m 最大内存512m 实际开发可以自己调节 不指定es启动会吧内存占用完直接卡死
-v 挂载到之前创建的文件目录
-d 后台启动

5.3、 创建Kibana

docker run --name kibana -e ELASTICSEARCH_HOSTS=http://192.168.137.14:9200 -p 5601:5601 -d kibana:7.6.2

6、启动redis容器

6.1 #先创建目录结构

mkdir -p /mydata/redis/conf
touch /mydata/redis/conf/redis.conf

6.2 初始化redis

docker run -p 6379:6379 --name redis\
 -v /mydata/redis/data:/dada\
 -v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf\
 -d redis redis-server /etc/redis/redis.conf

redis配置文件 https://raw.githubusercontent.com/redis/redis/4.0/redis.conf

7、安装nginx

## 随便启动一个nginx实例,只为复制出配置
docker run -p 80:80 --name nginx -d nginx:1.10
## 将容器内的配置文件拷贝到当前目录(注意后面的点)
docker container cp nginx:/etc/nginx .
## 修改文件名称
mv  nginx conf
## 把这个conf移动到 /mydata/nginx下
mv conf /nginx
## 终止原来的容器
docker stop nginx
## 删除原容器
docker  rm nginx

创建新的nginx执行下面命令

docker run -p 80:80 --name nginx\
 -v /mydata/nginx/html:/usr/share/nginx/html\
 -v /mydata/nginx/logs:/var/log/nginx\
 -v /mydata/nginx/conf:/etc/nginx\
 -d nginx:1.10

8、部署 xxl-job-admin

  docker run -e PARAMS="--spring.datasource.url=jdbc:mysql://192.168.56.1:3306/pigxx_job?Unicode=true&characterEncoding=UTF-8&useSSL=false --spring.datasource.username=root --spring.datasource.password=123456 --xxl.admin.login=false"\
 -p 9080:8080 --name xxl-job-admin\
 -d xuxueli/xxl-job-admin:2.2.0

浏览器访问

http://pigx-xxl:9080/xxl-job-admin

posted @   小明の烦恼  阅读(1077)  评论(0编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现

阅读目录(Content)

此页目录为空

点击右上角即可分享
微信分享提示