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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM