docker 安装 tomcat 、redis、mysql、nginx、nacos 笔记

302 阅读5分钟

最近学了 docker 这个引擎,发现用 dockr 来安装各种容器简直不要太简单,除去了传统的下载安装包、传上服务器、安装各种繁琐步骤,直接通过 docker 的指令,做到快速下载,快速安装。记个笔记,方便以后可以用到。

一、查询是否有 docker

yum list installed | grep docker

二、安装 docker

yum install docker -y

三、卸载 docker

yum remove docker -y
(
注:如果是 centos8 ,不能直接 yum install docker -y 安装
        curl https://download.docker.com/linux/centos/docker-ce.repo -o /etc/yum.repos.d/docker-ce.repo
        yum install https://download.docker.com/linux/fedora/30/x86_64/stable/Packages/containerd.io-1.2.6-3.3.fc30.x86_64.rpm
        yum install docker-ce -y
)

四、启动 docker

systemctl start docker

五、停止 docker

systemctl stop docker

六、重启 docker

systemctl restart docker

=============================使用==============================

官方仓库:http://hub.docker.com

docker原理:启动服务 - 下载镜像 - 启动到一个容器 - 运行程序

七、搜索(官网搜索,复制下载指令到linux)

docker search tomcat

八、下载

docker pull tomcat(官方仓库找到对应)

九、查看已下载

docker images

十、查看运行的容器

docker ps

十、运行容器

docker run tomcat 前台运行
docker run -d tomcat 后台运行加 -d 参数

十一、关闭容器

docker stop 通过docker ps指令查询的容器id

十二、进入容器

docker exec -it 容器id bash

十三、退出容器

exit

十四、删除容器

docker rm 容器名

十五、一次停止所有运行中的容器

docker stop ${docker ps -q}

十六、一次删除所有运行中的容器

docker rm ${docker ps -aq}

十七、一次停止并删除所有运行中的容器

docker stop ${docker ps -q} & docker rm ${docker ps -aq}

十八、删除镜像

dockre rmi 容器名

=============================安装==============================

安装tomcat:(使用容器如果访问404,有可能是容器下webapps内容为空)

一、搜索(官网搜索,复制下载指令到linux)

docker search tomcat

二、下载

docker pull tomcat(官方仓库找到对应)

三、查看已下载

docker images

四、查看运行的容器

docker ps

五、运行容器

docker run tomcat    前台运行
docker run -d -p 8080:8080 tomcat    后台运行加 -d 参数,-p -8080:8080 表示端口代理,因为tomcat是在docker中的一个容器,docker是linux中的一个引擎,无法直接访问到内部tomcat

六、停止容器

docker stop 通过docker ps指令查询的容器id

七、进入容器

docker exe -it 容器id bash

八、退出容器

exit

安装redis:

一、搜索

二、下载

docker pull redis

三、查看已下载

docker images

四、运行容器

docker run tomcat    前台运行
docker run -d -p 6379:6379 redis    后台运行加 -d 参数,-p 6379:6379 表示端口代理,因为redis是在docker中的一个容器,docker是linux中的一个引擎,无法直接访问到内部redis

五、停止容器

docker stop 通过docker ps指令查询的容器id

六、进入容器

docker exec -it 容器id bash

七、退出容器

exit

八、使用redis(进入容器 - 连接redis客户端 - 使用命令)

一、docker exec -it 容器id /bin/bash  //进入容器
二、redis-cli  //redis-cli 连接redis客户端
三、keys *  //常规指令

注:挂载时修改 redis 配置文件中的protected-mode yes 为no,redis才能被外部访问,则需要挂载配置文件(docker安装没有配置文件)

挂载配置文件

一、创建文件夹(用于存放配置文件)
    mkdir -p /home/docker/redis/conf/
    mkdir -p /home/docker/redis/data/
二、下载配置,去官网下载即可,http://www.redis.cn/download.html
三、授权文件
    chmod -R 777 /home/docker/
四、启动redis容器
    docker run -p 6379:6379 -v /home/docker/redis/conf/redis.conf:/etc/redis/redis.conf -v /home/docker/redis/data:/data -d redis redis-server /etc/redis/redis.conf --appendonly yes

安装mysql:

一、下载

docker pull mysql:5.7.39

二、运行容器

docker run -p 3306:3306 -e MYSQL_DATABASE=workdb -e MYSQL_ROOT_PASSWORD=密码 -d mysql:5.7.39

三、进入容器

docker exec -it 容器id bash

四、修改密码

ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';

安装nginx:

一、下载
	docker pull nginx
二、运行容器
	docker run -p 80:80 -d nginx
三、进入容器
	docker exec -it 容器id bash
四、本地访问
	http://ip:80
五、将linux文件拷贝到容器下
	docker cp 拷贝文件路径 容器id:容器下指定目录

安装zookeeper

一、下载

docker pull zookeeper

二、运行

docker run -p 2181:2181 -d zookeeper

三、进入容器

docker exec -it 容器id bash

四、访问

安装ActiveMq:

一、下载

二、运行

三、进入容器

四、访问

安装jdk:(这里用构建方法)

一、上传tar-gz包到/usr/local/docker/jdk下(如果没有自己创建)

二、在目录下创建Dockerfile文件

vim Dockerfile

三、写dockerfile文件内容

FROM centos:centos8
MAINTAINER yuqn
# 新建目录(docker中的)
RUN mkdir /usr/local/jdk
WORKDIR /usr/local/jdk 
# 将jdk文件拷贝到容器/usr/local/jdk/并解压到docker中 /usr/local/jdk目录下
ADD openjdk-8u41-b04-linux-x64-14_jan_2020.tar.gz /usr/local/jdk 
# 设置环境变量 ,文件是解压缩后文件名,有可能跟压缩包名不一样
ENV JAVA_HOME /usr/local/jdk/java-se-8u41-ri 
ENV JRE_HOME /usr/local/jdk/java-se-8u41-ri/jre 
ENV CLASSPATH .:${JAVA_HOME}/lib:${JRE_HOME}/lib 
ENV PATH $JAVA_HOME/bin:$PATH

四、构建镜像

docker build -t jdk1.8 .

五、运行容器

docker run -id 容器名

六、进入容器

docker exec -it 容器id /bin/bash

七、查看版本

java -version

安装 nacos(单机、mysql):

一、下载

docker pull nacos/nacos-server

二、挂载目录,用于映射到容器

mkdir -p /home/docker/nacos/logs/
mkdir -p /home/docker/nacos/init.d/

三、修改配置文件

vim /home/docker/nacos/init.d/custom.properties

内容如下:

server.contextPath=/nacos
server.servlet.contextPath=/nacos
server.port=8848

spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://localhost:3306/nacos_devtest_prod?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=user
db.password=pass

nacos.cmdb.dumpTaskInterval=3600
nacos.cmdb.eventTaskInterval=10
nacos.cmdb.labelTaskInterval=300
nacos.cmdb.loadDataAtStart=false
management.metrics.export.elastic.enabled=false
management.metrics.export.influx.enabled=false
server.tomcat.accesslog.enabled=true
server.tomcat.accesslog.pattern=%h %l %u %t "%r" %s %b %D %{User-Agent}i 
nacos.security.ignore.urls=/,/**/*.css,/**/*.js,/**/*.html,/**/*.map,/**/*.svg,/**/*.png,/**/*.ico,/console-fe/public/**,/v1/auth/login,/v1/console/health/**,/v1/cs/**,/v1/ns/**,/v1/cmdb/**,/actuator/**,/v1/console/server/**
nacos.naming.distro.taskDispatchThreadCount=1
nacos.naming.distro.taskDispatchPeriod=200
nacos.naming.distro.batchSyncKeyCount=1000
nacos.naming.distro.initDataRatio=0.9
nacos.naming.distro.syncRetryDelay=5000
nacos.naming.data.warmup=true
nacos.naming.expireInstance=true

四、执行sql语句

1、下载 
https://github.com/alibaba/nacos/blob/master/config/src/main/resources/META-INF/nacos-db.sql
2、在 mysql 中创建数据库,并且执行 sql 语句
3、修改配置文件信息

五、启动容器

docker run --name nacos -d -p 8848:8848 --privileged=true --restart=always -e JVM_XMS=256m -e JVM_XMX=256m -e MODE=standalone -e PREFER_HOST_MODE=hostname -v /home/docker/nacos/logs/ -v /home/docker/nacos/init.d/custom.properties:/home/nacos/init.d/custom.properties nacos/nacos-server

六、访问 http://www.**.xyz:8848/nacos/