-
docker保姆级别傻瓜式安装。
本随笔记录的个人在日常部署docker环境中的总结。转载请说明去处!!!
docker解决了应用安装环境的问题,docker允许打包的应用将应用,依赖,函数库,配置一起打包,形成可移植的镜像,可以在docker中的容器中直接运行.运行使用"沙箱"机制,相互隔离.
环境安装
安装docker
1
2
3
4
5
6
7
8
9
10
11
12
13
|
-->>yum update -->>yum install -y yum-utils device-mapper-persistent-data lvm2 -->>yum-config-manager --add-repo http: //mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -->>yum install -y docker-ce # 安装docker -->>systemctl start docker # 启动docker服务 -->>systemctl enable docker # docker服务开机自启 -->{ "registry-mirrors" : [ "https://pasw6qxp.mirror.aliyuncs.com" ] } #在/etc/docker/daemon.json文件下配置仓库地址,大括号注意回行 |
部署nacos
-->>docker pull nacos/nacos-server:latest --> docker run -d --name=nacos -p 8848:8848 --restart=always \ -v /data/nacos/logs:/home/nacos/logs \ -e MODE=standalone \ nacos/nacos-server:latest #注意回车,如果有需要修改的地方可以一行行粘进去
部署redis
-->>docker pull redis:5.0.7 -->> docker run -d --name redis --restart=always --privileged=true \ -p 6379:6379 \ -v /data/redis/conf/redis.conf:/etc/redis/redis.conf \ -v /data/redis/data:/data \ redis:5.0.7 --appendonly yes #有需要修改版本的注意修改版本
部署mysql
-->>docker pull mysql:5.7 -->> docker run -d --name mysql --restart=always \ -p 3306:3306 \ -e MYSQL_ROOT_PASSWORD=root \ -v /data/mysql/conf:/etc/mysql/conf.d \ -v /data/mysql/logs:/logs \ -v /data/mysql/data:/var/lib/mysql \ mysql:5.7 #有需要修改版本和密码的自行修改,如果linux上之前装过mysql,开启过自启,注意端口冲突,可以卸载之前的mysql -->>注意:需要修改mysql的默认编码为utf-8,创建文件/data/mysql/conf/my.cnf --> [client] default_character_set=utf8 [mysqld] character_set_server=utf8 #粘到my.cnf中
部署mongo
-->docker pull mongo:4.4 -->> docker run -d --name mongo --restart=always \ -p 27017:27017 \ -v /data/mongo:/data/db \ mongo:4.4
部署zookeeper
-->docker pull zookeeper:3.5 --> docker run -d --name zookeeper --restart=always --privileged=true \ -v /data/zookeeper/:/data \ -p 2181:2181 \ zookeeper:3.5
部署yapi
-->docker pull mrjin/yapi:latest --> docker run -d --name=yapi --restart=always \ -e VERSION=1.5.6 \ -e LOG_PATH=/tmp/yapi.log \ -e HOME=/home \ -e PORT=3000 \ -e ADMIN_EMAIL=tanhua@itcast.cn \ -e DB_SERVER=192.168.111.111 \ -e DB_PORT=27017 \ -e DB_NAME=yapi \ mrjin/yapi:latest #注意修改端口号;有必要修改下版本号
部署fastdfs
-->>docker pull delron/fastdfs --> docker run -d --name tracker --restart=always --network=host \ -v /data/fastdfs/tracker:/var/fdfs \ delron/fastdfs tracker --> docker run -d --name storage --restart=always --network=host \ -v /data/fastdfs/storage:/var/fdfs \ -e TRACKER_SERVER=192.168.111.111:22122 \ -e GROUP_NAME=group1 \ delron/fastdfs storage
部署mq
-->docker pull rabbitmq:3.8-management --> docker run -d --name rabbitmq --restart=always \ -e RABBITMQ_DEFAULT_USER=d2yes \ -e RABBITMQ_DEFAULT_PASS=d2yes \ -p 15672:15672 -p 5672:5672 \ -v /data/rabbitmq:/var/lib/rabbitmq \ rabbitmq:3.8-management #USER PASS自行有必要请修改
部署nginx
-->docker pull nginx:1.21.1 --> docker run -d --name=nginx --restart=always --network=host \ -v /data/nginx/conf:/etc/nginx/conf.d \ -v /data/nginx/html:/usr/share/nginx/html \ nginx:1.21.1 --> server { listen 8088; server_name localhost; location / { root /usr/share/nginx/html; index index.html index.htm; } #注:需先在/data/nginx/conf/下创建default.conf文件
以上就是docker的简单容器的创建
docker镜像仓库的创建(带有图形界面的.....为了搞这个仓库,失败了两次,最后可算搞成功了...)
dockercompose下载
-->curl -L https://github.com/docker/compose/releases/download/1.23.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose #(此链接是通往最大男人社交网站的...建议先尝试是否能正常打开此站点...如果下载不来到百度下载,copy到 /usr/local/bin/ 下也可以)
修改dockercompose文件权限
-->chmod +x /usr/local/bin/docker-compose
使用dockercompost部署带有图像界面的dockerregiestry,文件名仅支持--->Supported filenames: docker-compose.yml, docker-compose.yaml 并且跟dockercompose的文件在同根目录下 #要是在同一个根目录下,也就是根目录必须是usr...
version: '3.0' services: registry: image: registry volumes: - ./registry-data:/var/lib/registry ui: image: joxit/docker-registry-ui:static ports: - 8080:80 environment: - REGISTRY_TITLE=d2的专属仓库 - REGISTRY_URL=http://registry:5000 depends_on: - registry
我的是这样放的
配置docker信任地址,私服采用的是http协议,默认不被Docker信任,所以需要做一个配置
#打开要修改的文件,没有请创建
-->>vi /etc/docker/daemon.json
#添加内容
-->>"insecure-registries":["http://192.168.150.101:8080"] #我填的是自己的ip,端口号有冲突自行设置 多个配置注意逗号隔开
#重加载daemon
-->>systemctl daemon-reload
#重启docker
-->>systemctl restart docker
现在浏览器输入IP+prot就可以看到仓库了
#打包镜像
-->>docker tag nginx:latest 192.168.111.111:8080/nginx:1.0 #docker 打包 已在镜像名:版本 ip:prot/要上传的镜像名:要上传的版本号
#上传
-->>docker push 192.168.111.111:8080/要上传的镜像名: 要上传的版本号
#下拉
-->>docker pull 192.168.150.101:8080/仓库上的镜像名:版本号
----------------------------------------------------------持续更新-----------------------------------------------------------
JDK安装
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
# jdk镜像仓库:https://repo.huaweicloud.com/java/jdk/8u171-b11/ #下载wget命令 yum install wget # 下载、解压jdk wget https: //repo.huaweicloud.com/java/jdk/8u171-b11/jdk-8u171-linux-x64.tar.gz #解压 tar -zxf jdk-8u171-linux-x64.tar.gz #移动文件夹中 mv jdk1.8.0_171 /usr/local # 配置环境 vi /etc/profile # 添加内容: export JAVA_HOME=/usr/local/jdk1.8.0_171 export PATH=$JAVA_HOME/bin:$PATH # 配置生效命令 source /etc/profile #查看j版本命令 java -version |
# 1、yum 包更新到最新,需要几分钟时间 sudo yum update # 2、作用:安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的 sudo yum install -y yum-utils device-mapper-persistent-data lvm2 # 3、 设置yum源 # 3.1、方案一:使用ustc的(默认的) sudo yum-config-manager --add-repo http://mirrors.ustc.edu.cn/docker-ce/linux/centos/docker-ce.repo # 3.2、方案二:使用阿里云(推荐) sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo # 4、 安装docker;出现输入的界面都按 y sudo yum install -y docker-ce # 5、 查看docker版本 docker -v #开机自启动 systemctl enable docker 设置镜像加速器 # 执行如下命令: mkdir /etc/docker 表示创建一个文件夹 #如果有该文件则进入编辑状态,如果没有,则创建该文件然后进入编辑状态 vi /etc/docker/daemon.json #编写以下内容 { "registry-mirrors": ["https://7oc12mqc.mirror.aliyuncs.com"] }
#国内资源(建议) curl -L https://get.daocloud.io/docker/compose/releases/download/1.25.4/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose # 设置文件可执行权限 chmod +x /usr/local/bin/docker-compose # 查看版本信息 docker-compose -version
#创建一个文件夹 mkdir nacos #进入该文件夹中 cd nacos # 编写docker-compose.yml文件 version: "2" services: nacos: image: nacos/nacos-server:1.4.1 container_name: nacos environment: - MODE=standalone volumes: - /root/nacos/logs:/home/nacos/logs - /root/nacos/init.d/custom.properties:/home/nacos/init.d/custom.properties ports: - "8848:8848" restart: always #创建文件夹及文件 cd nacos mkdir init.d cd init.d vi custom.properties esc退出 #执行脚本 docker-compose up -d
#创建docker-compose.yml #创建一个文件夹 mkdir mysql #进入mysql文件夹中创建一个docker-compose.yml文件 cd mysql vi docker-compose.yml #在docker-compose.yml中加入以下内容 version: '3' services: mysql: container_name: mysql environment: TZ: Asia/Shanghai MYSQL_ROOT_PASSWORD: "root" image: "mysql:5.7" restart: always volumes: - "./conf/my.cnf:/etc/my.cnf" - "./data:/var/lib/mysql" ports: - "3306:3306" #在mysql文件夹下执行脚本 docker-compose up -d
# 创建一个文件夹 mkdir es # 进入es文件夹中创建一个docker-compose.yml文件 vi docker-compose.yml #在docker-compose.yml中加入以下内容 version: '3' services: elasticsearch: image: elasticsearch:7.4.0 container_name: elasticsearch restart: always environment: - bootstrap.memory_lock=true - http.cors.enabled=true - http.cors.allow-origin=* - "discovery.type=single-node" - "ES_JAVA_OPTS=-Xms512m -Xmx512m" ulimits: memlock: soft: -1 hard: -1 volumes: - /root/es/plugins:/usr/share/elasticsearch/plugins ports: - 9200:9200 - 9300:9300 kibana: image: kibana:7.4.0 container_name: kibana environment: - SERVER_NAME=kibana - ELASTICSEARCH_URL=http://192.168.200.129:9200 - XPACK_MONITORING_ENABLED=true ports: - 5601:5601 depends_on: - elasticsearch external_links: - elasticsearch ``` #es文件夹下执行脚本 docker-compose up -d #设置中文IK分词器 #因为在创建elasticsearch容器的时候,映射了目录,所以可以在宿主机上进行配置ik中文分词器 #在去选择ik分词器的时候,需要与elasticsearch的版本好对应上 把在本机下载好的`ik.tar`上传到服务器上,放到对应目录(plugins)解压 #上传压缩包到Linux中 #切换目录 cd es/plugins #新建目录 mkdir analysis-ik #root根目录解压 tar -xf ik-7.4.0.tar -C es/plugins/analysis-ik #在重新启动es,进行测试 docker restart elasticsearch
#创建文件夹 mkdir minio #进入文件夹 cd minio #创建docker-compose.yml vi docker-compose.yml #编写以下内容 version: '3' services: minio: image: minio/minio:RELEASE.2021-04-18T19-26-29Z container_name: myminio ports: - 9000:9000 volumes: - /var/minio/data:/data - /var/minio/config:/root/.minio environment: MINIO_ACCESS_KEY: "minio" MINIO_SECRET_KEY: "minio123" command: server /data restart: always #执行命令 docker-compose up -d
来源:https://www.cnblogs.com/d2blog/p/15514440.html