Docker部署

127 阅读4分钟

1、确保服务器能通外网

2、uname -r 查看CentOS版本 须大于3.10版本

3、yum update 更新yum,确保yum是最新的

4、sudo yum install -y yum-utils 安装工具包,拉取相关镜像时必要工具

5、sudo yum-config-manager --add-repo download.docker.com/linux/cento…

设置远程仓库

6、sudo yum install docker-ce 安装docker

说明:Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。

7、sudo systemctl start docker 启动docker

8、docker version 查看docker版本

9、sudo systemctl enable docker 设置开机启动

docker命令自动补全

yum install -y bash-completion

source /usr/share/bash-completion/completions/docker

source /usr/share/bash-completion/bash_completion

docker 更换镜像

vim /etc/docker/daemon.json

加入下面的配置

{ "registry-mirrors": ["iopsw3zp.mirror.aliyuncs.com"] }

重启加载 sudo systemctl daemon-reload

重启docker sudo systemctl restart docker


10、安装java 配置环境变量

yum install java-1.8.0-openjdk* -y

下载JDK1.8包,拷入usr/local/src目录下

tar -zxvf jdk-8u161-linux-x64.tar.gz 解压

mv jdk1.8.0_161 jdk8 重命名

vi /etc/profile 编辑环境变量配置文件,在最后加入以下内容:

export JAVA_HOME=/usr/local/jdk8

export PATH=JAVAHOME/bin:JAVA_HOME/bin:PATH

export CLASSPATH=.:JAVAHOME/lib/dt.jar:JAVA_HOME/lib/dt.jar:JAVA_HOME/lib/tools.jar

source /etc/profile 使环境生效


11、安装mysql数据库

pull mysql:5.7 拉取数据库镜像

docker run -p 3306:3306 --name mysql \

-v /data/mysql/conf:/etc/mysql/conf.d \

-v /data/mysql/logs:/logs \

-v /data/mysql/data:/var/lib/mysql \

-e MYSQL_ROOT_PASSWORD=root \

-d mysql:5.7

说明:-p 启动容器,映射端口,指定容器名称

-v 挂载相关mysql系统文件到指定本地目录(先在本地新建相关目录)

-e 配置mysql初始密码

-d 指定的当前镜像名称

systemctl status firewalld

docker exec -it b015e0f675e8 /bin/bash 进入容器

mysql -uroot -p


12、安装redis

Redis数据库就是一款缓存数据库,用于存储使用频繁的数据,这样减少访问数据库的次数,提高运行效率.

docker run ‐d ‐‐name redis ‐‐restart=always \

‐p 6379:6379 redis ‐‐requirepass "password"

docker pull redis:latest 拉取镜像

docker run -itd --name redis -p 6379:6379 redis 启动reids

修改密码:

进入redis的容器:docker exec -it 容器ID bash

运行命令:redis-cli

查看现有的redis密码:config get requirepass

设置 redis 密码:config set requirepass password (password为设置的密码)


13、安装nginx

Nginx (engine x) 是一个高性能的HTTP和反向代理web服务,同时也提供了IMAP/POP3/SMTP服务

docker pull nginx 拉取nginx

创建挂载目录:conf、conf.d、html、logs,建立nginx文件 :nginx.conf、default.conf到相应目录下

然后进行目录挂载

docker run --name nginxda -p 8888:8888 \

-v /data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \

-v /data/nginx/conf.d:/etc/nginx/conf.d \

-v /data/nginx/logs:/var/log/nginx \

-v /data/nginx/html:/usr/share/nginx/html \

-d nginx

其他:

如果是同一台服务器发布两个nginx 注意要改端口

default.conf

启动指定端口

14、部署KKfileview

文件预览服务

docker pull keking/kkfileview 拉取镜像

运行 docker run --name "kkfileview" -it -p 8012:8012 keking/kkfileview

docker cp kkfileview:/opt/kkFileView-3.5/bin/kkFileView-3.5.jar /data/kkFileView/kkFileView-3.5.jar

15、部署minio

docker run -d -p 9000:9000 -p 9001:9001 --name minio --restart=always \

-e "MINIO_ROOT_USER=minioadmin" \

-e "MINIO_ROOT_PASSWORD=minioadmin" \

-v /data/minio/data:/data \

-v /data/minio/config:/root/.minio \

minio/minio server /data --console-address ":9000" -address ":9001"

16启动生成环境jar包

nohup java -jar -Dspring.profiles.active=prod blade-api.jar > out.log 2>&1 &

17 docker 查看容器内部IP

docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' 容器ID

18 docker 部署集群elasticsearch

修改配置sysctl.conf vi /etc/sysctl.conf

添加配置 vm.max_map_count=262144

重新加载 sysctl -p

拉取镜像 docker pull elasticsearch:7.1.1

创建 文件夹 mkdir /elk/conf mkdir /elk/data mkdir /elk/logs

在conf 文件下创建 elasticsearch.ymldw

文件内容:

cluster.name: es-docker-cluster

node.name: es01

network.host: 10.130.200.31

http.port: 9201

transport.tcp.port: 9301

http.cors.enabled: true

http.cors.allow-origin: "*"

node.master: true

node.data: true

discovery.seed_hosts: ["10.130.200.32:9300","10.130.200.33:9300"]

cluster.initial_master_nodes: ["es01","es02","es03"]

discovery.type 一共两种模式 zen 和 single-node, 集群模式需要为zen,因此启动集群方式增加了 -e “discovery.type=zen

运行容器

docker run --restart=always --network=host \

-d -p 9201:9200 -p 9301:9300 \

-e ES_JAVA_OPTS="-Xms512m -Xmx512m" \

-e TAKE_FILE_OWNERSHIP=true \

-e "discovery.type=zen" \

-v /elk/elasticsearch/conf/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \

-v /elk/elasticsearch/data:/usr/share/elasticsearch/data \

-v /elasticsearch/logs:/usr/share/elasticsearch/logs \

--name es01 elasticsearch:7.1.1