关于java:Docker-环境部署

10次阅读

共计 4567 个字符,预计需要花费 12 分钟才能阅读完成。

装置 Docker 容器

Docker 官网装置地址
https://docs.docker.com/engin…

第一步:装置 yum-utils(治理 repository 及扩大包的工具, 可提供 yum 操作性能)

sudo yum install -y yum-utils

  1. sudo 让普通用户具备一般治理元的权限执行操作
  2. Yum 是一个 RedHat 以及 CentOS 中的 Shell 软件包管理器
第二步:设置 docker 装置镜像

sudo yum-config-manager –add-repo https://download.docker.com/l…

第三步:装置 docker-ce (CE- Community Edition 是社区版)

sudo yum install docker-ce docker-ce-cli containerd.io

第四步:启动 docker (systemclt 指令用于启动、敞开服务等)

sudo systemctl start docker

第五步:设置 docker 自启动(操作系统启动时 docker 也启动)

FAQ:
运行 yum 时呈现 /var/run/yum.pid 已被锁定,PID 为 xxxx 的另一个程序正在运行的问题解决

删除文件后再次运行 yum
rm -f /var/run/yum.pid

Docker 减速设计

  1. 创立目录: sudo mkdir -p /etc/docker
  2. 镜像设置: sudo tee /etc/docker/daemon.json <<-‘EOF’
    {
    “registry-mirrors”: [“https://ar2qkqym.mirror.aliyuncs.com”]
    }
    EOF
  3. 从新加载配置: sudo systemctl daemon-reload
  4. 重启 docker: sudo systemctl restart docker

    装置 JDK 软件

镜像形式装置

第一步:拉取镜像(从 hub.docker.com)
docker pull benwang6/tedu-jdk
第二步:查看镜像
docker images
第三步:测试 - 从镜像运行启动容器,在容器中运行 java -jar
docker run -d -p 9411:9411 -v /root/libs/sca/:/sca –entrypoint java benwang6/tedu-jdk -jar /sca/zipkin-server-2.23.2-exec.jar

docker 在后盾 (-d) 启动运行一个容器 (过程),并将 /root/libs/sca 目录中的资源挂载(-v) 到 /sca 挂载点,将容器端口 9411 映射到宿主机端口 9411,而后通过 java 指令执行挂在点资源(其中 zipkin-server-2.23.2-exec.jar 文件为咱们要执行的挂载点文件),--entrypoint 的含意为笼罩镜像中写的 entrypoint 选项(这个镜像文件中有写 entrypoint 选项),注 --entrypoint 指令的地位
本人制作镜像

第一步:拉取 centos 空的镜像(制作镜像时须要有一个空的 centos:7 镜像)
docker pull centos:7
第二步:创立目录并在目录中间接通过 vim 编辑此文件(通过 mkdir 指令实现)
mkdir jdk
第三步:在 jdk 目录下创立通过 vim 指令编辑 Dockerfile 文件(文件不存在主动创立)
vim Dockerfile #留神文件的大小写(制作镜像时有严格标准)

文件内容如下:FROM centos:7
ADD jdk-8u51-linux-x64.tar.gz /usr/local/docker
ENV JAVA_HOME=/usr/local/docker/jdk1.8.0_51 \
    PATH=/usr/local/docker/jdk1.8.0_51/bin:$PATH
CMD ["bash"]

保留退出。
第三步:构建镜像(- t 示意为镜像起个名字,名字前面的点示意当前目录)
docker build -t jdk:8 .
第四步:查看构建的镜像
docker images
第五步:测试镜像文件
docker run -d -p 9411:9411 -v /root/libs/sca/:/sca jdk:8 java -jar /sca/zipkin-server-2.23.2-exec.jar

第六步: 通过如下指令查看服务是否已启动
docker ps
第七步:保留镜像并起各名字 (可选,如果要将镜像传给他人能够间接上面的操作)
docker save jdk:8 | gzip>linux-jdk8.gz
接管并执行 load
docker load -i linux-jdk8.gz
FAQ:
 如何看 docker 中镜像? docker images
 如何删除 docker 中镜像?docker image rm 镜像名或 imageId
 如何加载本地镜像?docker load –i 镜像名
 如何启动容器?docker run。。。。。
 如何查看正在运行的容器?docker ps
 如何查看所有容器?(蕴含启动失败和进行容器)?docker ps –a
 如何进行正在运行容器? docker stop 容器 id
 如何重启容器? docker restart 容器 id
 如何删除处于终止状态的容器?docker container prune
 如何删除处于运行状态的容器(不举荐)?docker container rm –f 容器 id
 如何查问启动容器的日志?docker container logs 容器 id
 如何查看容器详细信息? docker container inspect 容器 id
查看 docker 容器选项信息?docker contianer

间接装置形式

:上传 JDK 安装包
:解压 JDK 文件

tar -xvf jdk-7u51-linux-x64.tar.gz

:配置环境变量
阐明: 批改 Linux 零碎中环境变量须要批改 /etc/profile 文件
命令:vim /etc/profile
配置文件变量

#set java env
JAVA_HOME=/usr/local/src/java/jdk1.7.0_51
JAVA_BIN=/usr/local/src/java/jdk1.7.0_51/bin
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME JAVA_BIN PATH CLASSPATH

:环境变量失效:

source /etc/profile

:检测 jdk:
java -version

装置 Database 软件

装置 MySql 数据库

第一步:在 hub.docker.com 上搜寻 mysql 镜像
第二步:拉取指定版本的 mysql

sudo docker pull mysql:8.0.23

第三步:查看 mysql 镜像

sudo docker images

第四步:启动运行 mysql 镜像 (docker run 用于启动一个容器)

sudo docker run -p 3306:3306 --name mysql \
-v /usr/local/docker/mysql/mysql-files:/var/lib/mysql-files \
-v /usr/local/docker/mysql/conf:/etc/mysql \
-v /usr/local/docker/mysql/logs:/var/log/mysql \
-v /usr/local/docker/mysql/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:8.0.23

如果装置过程中失败了,则可通过 docker ps -a 查看以前的容器,如果已存在,则通过 docker rm 镜像 id 删除再重新安装即可

第五步:启动 mysql

docker start mysql

第六步:查看 docker 启动的服务

docker ps

第七步:进入容器 (退出容器用 exit)

sudo docker exec -it mysql bash

第八步:登陆

mysql -uroot -p

第九步:设置 mysql 开机自启动(可选)

docker update mysql --restart=always

FAQ
重启 mysql:

 docker restart mysql

查看 mysql 装置门路:

  whereis mysql

创立 mysql 账户并为其设置权限

  create user‘tony’@’%’identified by‘tony’;
  grant all on *.* to‘tony’@‘%’;

敞开防火墙:
sudo systemctl stop firewalld.service
重启 docker:
sudo systemctl restart docker
###### 装置 Redis 内存数据库
第一步:下载镜像文件

 docker pull redis 

第二步:创立 redis 实例并启动

创立 redis 配置文件目录:
mkdir -p /usr/local/docker/redis/conf
在配置文件录下创立 redis.conf 配置文件
(因为 redis 镜像中这个 redis.conf 是一个目录所以要先创立一个这个配置文件,否在咱们本地挂载点也会变成一个目录):
touch /usr/local/docker/redis/conf/redis.conf
 sudo docker run -p 6379:6379 --name redis \
-v /usr/local/docker/redis/data:/data \
-v /usr/local/docker/redis/conf/redis.conf:/etc/redis/redis.conf \
-d redis redis-server /etc/redis/redis.conf 

第三步:查看正在运行的过程

docker ps

第四步:控制台间接连贯 redis 测试

docker exec -it redis bash

第五步:检测 redis 版本

Redis-server –v

或者

redis-cli -v

第五步:登录 redis(默认不须要明码)

redis-cli

或者

docker exec -it redis redis-cli

FAQ
进行 redis:
docker stop redis
启动 redis:
docker start redis
重启 redis:
docker restart redis
查看 redis 版本:
docker exec -it redis redis-server -v

装置分布式中间件

装置 Ngnix 代理
  1. docker pull nginx:latest
  2. docker images
  3. docker run –name nginx -d nginx
    检测装置的内容 docker exec nginx ls -l /etc/nginx

第四步:拷贝装置好的配置文件

docker cp -a nginx:/etc/nginx /usr/local/docker/nginx

这里是将 docker 中的 nginx 复制到宿主机的 nginx 目录

第五步:强制卸载刚刚装置的 nginx

docker rm -f nginx

第六步:启动 nginx 容器,运行 nginx 镜像

sudo docker run -p 80:80 --restart always --name nginx \
-v /usr/local/docker/nginx/:/etc/nginx/ \
-d nginx

正文完
 0