Docker安装JAVA软件总结

发布于:2024-04-15 ⋅ 阅读:(268) ⋅ 点赞:(0)

Docker安装JAVA软件总结

一、安装JDK

docker pull openjdk:8 #拉取镜像

docker run -id --name=openjdk -p 8080:8080  openjdk:8 #创建容器

二、安装MySql

  • 拉取镜像
  # 查询中央仓库
  docker search -f is-official=true mysql
  
  # 从中央仓库下载
  docker pull mysql:8.0.25
  • 配置mysql挂载目录
 mkdir -p /usr/local/mysql/data && 
 mkdir -p /usr/local/mysql/logs && 
 mkdir -p /usr/local/mysql/conf
  • 创建mysql配置文件

    在宿主机上创建mysql配置文件:/usr/local/mysql/conf/my.cnf

  cat > /usr/local/mysql/conf/my.cnf << EOF
  [mysqld]
  character-set-server=UTF8MB4
  default-storage-engine=INNODB
  default_authentication_plugin=mysql_native_password
  wait_timeout=1814400
  [mysql]
  default-character-set=UTF8MB4
  [client]
  default-character-set=UTF8MB4	
  EOF
  • 创建容器
  # 创建并运行容器,docker 会自动创建 /usr/local/mysql/data 目录和mysql配置目录conf/my.cnf
  docker run -id -p 3306:3306 \
  --name=mysql \
  --restart=always \
  -v /usr/local/mysql/data:/var/lib/mysql \
  -v /usr/local/mysql/logs:/var/log/mysql \
  -v /usr/local/mysql/conf/my.cnf:/etc/mysql/conf.d/my.cnf \
  -e MYSQL_ROOT_PASSWORD=123456 mysql:8.0.25

三、安装Tomcat

  • 搜索tomcat镜像
 docker search tomcat
  • 拉取tomcat镜像
  docker pull tomcat:8
  • 创建容器,设置端口映射、目录映射
 # 在/root目录下创建tomcat目录用于存储tomcat数据信息
 mkdir -p /usr/local/tomcat
 
 #创建容器
 docker run -id --name=tomcat8 -p 8080:8080 -v /usr/local/tomcat:/usr/local/tomcat/webapps tomcat:8
 
 或
 #docker run -id --name=tomcat8 -p 8080:8080 -v $PWD:/usr/local/tomcat/webapps tomcat:8

参数说明:

  • -p 8080:8080:将容器的8080端口映射到主机的8080端口 (第一个8080是宿主机端口用来和tomcat做映射的,第二个8080是容器启动tomcat端口8080,第二个端口是tomcat容器默认启动的端口)
  • -v $PWD:/usr/local/tomcat/webapps:将主机中当前目录挂载到容器的webapps
  • 使用外部机器访问tomcat
  在宿主机目录/usr/tomcat下创建test目录。并在test目录下创建index.html。那么test目录会同步到tomcat8容器的 /usr/local/tomcat/webapps里面
  在docker版的tomcat8中其webapps文件为空,其欢迎页都放在webapps.dist文件中
  [root@localhost tomcat]# mkdir test
  [root@localhost tomcat]# cd test/
  [root@localhost test]# vim index.html #在index.html里面编写 <h1>hello tomcat</h1>

浏览器测试访问:

http://127.0.0.1:8080/test/index.html

四、安装NGINX

  • 搜索nginx镜像
docker search nginx
  • 拉取nginx镜像
docker pull nginx
  • 创建目录

    进入到/usr/local

mkdir -p /usr/local/nginx/conf.d && 
mkdir -p /usr/local/nginx/logs && 
mkdir -p /usr/local/nginx/html
  • 编写nginx配置文件nginx.conf

    /usr/local/nginx/conf.d/nginx.conf

cat > /usr/local/nginx/conf.d/nginx.conf << EOF
server {
        listen       80;
        server_name  localhost;

        location / {
            root   /usr/share/nginx/html;  #usr/share/nginx/html为docker中nginx的静态资源目录
            index  index.html index.htm;
        }
    }
EOF

上面安装jdk时端口号设为了80,这里端口号冲突了可设置为81,下面一样

说明:

第四步其实可以省略,默认创建一个nginx容器,会在/etc/nginx/目录下生成一个叫nginx.conf的配置文件,nginx容器启动会去加载该文件,该文件的内容和第四步配置文件的内容相同。这个文件的末尾有include /etc/nginx/conf.d/*.conf;这句话,也就说在conf.d目录下并且以conf结尾的文件都会被加载,而这个目录下只有一个配置文件就是default.conf,default.conf文件的内容配置了一个server节点,以及默认访问nginx的目录和首页(/html/index.html)

  • 创建nginx容器、端口映射、目录挂载
docker run -id -p 80:80 \
--name=nginx \
--restart=always \
-v /usr/local/nginx/conf.d:/etc/nginx/conf.d \  #不挂载这个配置文件也是可以的
-v /usr/local/nginx/logs:/var/log/nginx \       #nginx容器默认的日志文件保存到/var/log/nginx目录下
-v /usr/local/nginx/html:/usr/share/nginx/html \ #nginx默认会去访问/usr/share/nginx/html下的index.html
nginx


docker run -id -p 80:80 \
--name=nginx \
--restart=always \
-v

网站公告

今日签到

点亮在社区的每一天
去签到