docker的安装
1 yum 包更新到最新
yum update
2 安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
yum install -y yum-utils device-mapper-persistent-data lvm2
3 设置yum源
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
4 安装docker,出现输入的界面都按 y
yum install -y docker-ce
5 查看docker版本,验证是否验证成功
docker -v
6 配置docker加速
https://blog.csdn.net/weixin_67450855/article/details/128178366
docker的基础命令
1 启动docker
systemctl start docker
2 关闭docker
systemctl stop docker
3 重启docker
systemctl restart docker
4 设置docker开机自启动
systemctl enable docker
5 查看docker运行状态
systemctl status docker
6 docker的帮助命令
docker --help
docker 搜索镜像
docker search redis
docker 拉取image
docker pull redis:version
查看下载的镜像
docker images
移除镜像
docker rmi xxx
移除所有镜像
docker rmi `docker images`
#删除一个
docker rmi -f 镜像名/镜像ID
#删除多个 其镜像ID或镜像用用空格隔开即可
docker rmi -f 镜像名/镜像ID 镜像名/镜像ID 镜像名/镜像ID
#删除全部镜像 -a 意思为显示全部, -q 意思为只显示ID
docker rmi -f $(docker images -aq)
查看正在运行的容器
docker ps
查看所有容器包括正在运行和停掉的容器
docker ps -a
运行一个容器
-it 表示 与容器进行交互式启动 -d 表示可后台运行容器 (守护式运行)
--name 给要运行的容器 起的名字 /bin/bash 交互路径
docker run -it -d --name 要取的别名 镜像名:Tag /bin/bash
部署mysql(仅测试用)
搜索mysql镜像
docker search mysql
拉取mysql镜像
docker pull mysql:5.6
创建容器,设置端口映射、目录映射
在/root目录下创建mysql目录用于存储mysql数据信息
mkdir ~/mysql
cd ~/mysql
docker run -id \
-p 3306:3306 \
--name=mysql \
-v $PWD/conf/mysqld.cnf:/etc/mysql/mysql.conf.d/mysqld.cnf \
-e MYSQL_ROOT_PASSWORD=123456 \
mysql:5.7 --character-set-server=utf8mb4 \
--collation-server=utf8mb4_general_ci
更多参考链接
https://blog.csdn.net/weixin_44037416/article/details/117956869
https://blog.csdn.net/ligengdipan/article/details/107849994
[【精选】【Docker 基础教程】Mysql主从环境搭建_使用docker搭建 mysql主从_酷尔。的博客-CSDN博客](https://blog.csdn.net/apple_51931783/article/details/126350430)
我的mysqld.cnf配置内容
[client]
default-character-set=utf8mb4
[mysql]
default-character-set=utf8mb4
[mysqld]
character-set-server=utf8mb4
collation-server=utf8mb4_general_ci
pid-file=/var/run/mysqld/mysqld.pid
socket=/var/run/mysqld/mysqld.sock
datadir=/var/lib/mysql
log-error=/var/log/mysql/error.log
symbolic-links=0
default-storage-engine=INNODB
max_connections=1000
max_connect_errors=10
lower_case_table_names=1
max_allowed_packet=128M
sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'
进入容器,操作mysql
docker exec –it c_mysql /bin/bash
部署tomcat
搜索tomcat镜像
docker search tomcat
拉取tomcat镜像
docker pull tomcat
创建容器,设置端口映射、目录映射
在/root目录下创建tomcat目录用于存储tomcat数据信息
mkdir ~/tomcat
cd ~/tomcat
备注 在webapps
docker run -id --name=cpc-web-tomcat \
-p 8090:8090 \
-v /home/deploy/kdh/cpc-web/tomcat/webapps:/usr/local/tomcat/webapps \
-v /home/deploy/kdh/cpc-web/tomcat/conf/server.xml:/usr/local/tomcat/conf/server.xml \
-v /home/deploy/kdh/cpc-web/tomcat/logs/cpc-web:/usr/local/tomcat/logs \
tomcat:8.5
部署nginx
docker search nginx
docker pull nginx
mkdir ~/nginx
cd ~/nginx
mkdir conf
cd conf
在~/nginx/conf/下创建nginx.conf文件,粘贴下面内容
vim 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;
include /etc/nginx/conf.d/*.conf;
}
从docker容器中copy数据(备注如果linux系统在80端口启动了nginx服务,部署有变,具体看下面的内容)
docker container cp c_nginx:/etc/nginx /mydata/nginx/conf/
部署nginx
docker run -id --name=c_nginx \
-p 90:90 \
-v /home/nginx/conf.d:/etc/nginx/conf.d/ \
-v /home/cysteine/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /home/cysteinelogs:/var/log/nginx \
-v /home/cysteine/html:/usr/share/nginx/html \
nginx:1.18.0
参数说明:
- **-p 80:80**:将容器的 80端口映射到宿主机的 80 端口。
- **-v $PWD/conf/nginx.conf:/etc/nginx/nginx.conf**:将主机当前目录下的 /conf/nginx.conf 挂载到容器的 :/etc/nginx/nginx.conf。配置目录
- **-v $PWD/logs:/var/log/nginx**:将主机当前目录下的 logs 目录挂载到容器的/var/log/nginx。日志目录
部署redis
docker pull redis
docker run -d --name redis --restart=always -p 6379:6379 redis --requirepass "leadnews"
部署nextcloud
docker search nextcloud
docker pull nextcloud
docker run -d -p 8888:80 nextcloud
部署mongodb
docker pull mongo
docker run -di --name mongo-service --restart=always -p 27017:27017 -v ~/data/mongodata:/data mongo
部署fastdfs
docker pull delron/fastdfs
docker run -d --network=host --name tracker -v /var/fdfs/tracker:/var/fdfs delron/fastdfs tracker
docker run -d --network=host --name storage -e TRACKER_SERVER=ip:22122 -v /var/fdfs/storage:/var/fdfs -e GROUP_NAME=group1 delron/fastdfs storage
https://blog.csdn.net/wlwlwlwl015/article/details/52619851
#docker安装
https://blog.csdn.net/qq_37534947/article/details/106429656
ps: 需要放行23000,22122,8888端口
部署nacos
docker pull nacos/nacos-server:1.2.0
docker run --env MODE=standalone --name nacos --restart=always -d -p 8848:8848 nacos/nacos-server:1.2.0
部署minio
docker pull minio/minio
mkdir -p /home/minio/config
mkdir -p /home/minio/data
docker run -p 9000:9000 -p 9091:9090 \
--net=host \
--name minio \
-d --restart=always \
-e "MINIO_ACCESS_KEY=minioadmin" \
-e "MINIO_SECRET_KEY=minioadmin" \
-v /home/minio/data:/data \
-v /home/minio/config:/root/.minio \
minio/minio server \
/data --console-address ":9091" -address ":9000"
部署kafka
docker pull zookeeper:3.4.14
docker run -d --name zookeeper -p 2181:2181 zookeeper:3.4.14
docker pull wurstmeister/kafka:2.12-2.3.1
docker run -d --name kafka \
--env KAFKA_ADVERTISED_HOST_NAME=192.168.200.130 \
--env KAFKA_ZOOKEEPER_CONNECT=192.168.200.130:2181 \
--env KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.200.130:9092 \
--env KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 \
--env KAFKA_HEAP_OPTS="-Xmx256M -Xms256M" \
--net=host wurstmeister/kafka:2.12-2.3.1
部署es
docker pull elasticsearch:7.4.0
docker run -id --name elasticsearch -d --restart=always -p 9200:9200 -p 9300:9300 -v /usr/share/elasticsearch/plugins:/usr/share/elasticsearch/plugins -e "discovery.type=single-node" elasticsearch:7.4.0
#配置分词器
#切换目录
cd /usr/share/elasticsearch/plugins
#新建目录
mkdir analysis-ik
cd analysis-ik
#root根目录中拷贝文件
mv elasticsearch-analysis-ik-7.4.0.zip /usr/share/elasticsearch/plugins/analysis-ik
#解压文件
cd /usr/share/elasticsearch/plugins/analysis-ik
unzip elasticsearch-analysis-ik-7.4.0.zip