linux中docker安装mysql、redis、nginx、tomcat、rabbatmq、nacos、postgresql、docker运行jar包,最详情的docker安装容器。

本文详细介绍了如何在CentOS7系统上安装Docker,包括安装步骤、配置阿里云镜像、安装MySQL、Redis、Tomcat、Nginx、PostgreSQL、RabbitMQ和Nacos,并演示了如何部署Docker容器和使用Dockerfile构建镜像。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、centos 7安装docker

安装docker

#安装gcc
yum -y install gcc
#安装gcc-c++
yum -y install gcc-c++
#配置阿里云镜像
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
#安装docker
yum install docker-ce docker-ce-cli http://containerd.io docker-compose-plugin
#运行docker
systemctl start docker
#设置开机启动
systemctl enable docker.service

至此完成了contos7安装docker以及设置开机自启

卸载docker

#暂停docker运行
systemctl stop docker
#关闭开机启动
systemctl disable docker.service
#删除docker以及其文件
yum remove docker-ce docker-ce-clie http://containerd.io
rm -rf /var/lib/docker
rm -rf /var/lib/containerd

2、docker安装mysql

首先在home目录下创建mysql目录 以及mysql目录下创建conf、logs、data目录,主要用于挂载容易文件

mkdir /home/mysql/conf 
mkdir /home/mysql/logs 
mkdir /home/mysql/data

#创建完成后,移动到mysql目录下

cd /home/mysql

创建mysql容器

docker run -id \
-p 3306:3306 \  
--name=mysql \ 
-v $PWD/conf:/etc/mysql/conf.d \
-v $PWD/logs:/logs \
-v $PWD/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
mysql:5.6

参数说明:

  • -p 3306:3306:将容器的 3306 端口映射到宿主机的 3306 端口。

  • -id:后台运行。

  • --name:设置的容器名。

  • -v $PWD/conf:/etc/mysql/conf.d:将主机当前目录下的 conf/my.cnf 挂载到容器的 /etc/mysql/my.cnf。配置目录

  • -v $PWD/logs:/logs:将主机当前目录下的 logs 目录挂载到容器的 /logs。日志目录

  • -v $PWD/data:/var/lib/mysql :将主机当前目录下的data目录挂载到容器的 /var/lib/mysql 。数据目录

  • -e MYSQL_ROOT_PASSWORD=123456:初始化 root 用户的密码。

 运行完成后可以运行以下命令测试、或者使用第三方软件连接

docker exec -it mysql /bin/bash   //进入mysql容器
mysql -uroot -p123456    登录mysql
exit  退出mysql
Ctrl+D  推出docker容器

至此mysql容器安装完成

3、docker安装redis

安装redis相对简单,不用挂载文件

docker run -id --name=redis -p 6379:6379 redis:5.0 --requirepass 123456

参数说明:

  • -p 6379:6379:将容器的 6379端口映射到宿主机的 6379 端口。

  • -id:后台运行。

  • --name:设置的容器名。

  • --requirepass :设置密码

安装redis后自行测试即可

4、docker安装tomcat

docker run -id --name=tomcat -p 8080:8080 -v $PWD:/usr/local/tomcat/webapps tomcat

参数说明:

  • -p 8080:8080:将容器的 8080端口映射到宿主机的 8080端口。

  • -id:后台运行。

  • --name:设置的容器名。

  • -v $PWD:/usr/local/tomcat/webapps :将主机中当前目录挂载到容器的webapps

5、docker安装nginx

安装nginx同myqsl类似,先创建主机的挂载目录

mkdir /home/nginx/conf
mkdir /home/nginx/logs
mkdir /home/nginx/html

#创建完成移动到nginx目录下 再运行创建容器代码
cd /home/nginx

docker run -id --name=nginx \
-p 80:80 \
-p 8888:8888 \
-p 8889:8889 \
-v $PWD/conf/nginx.conf:/etc/nginx/nginx.conf \
-v $PWD/logs:/var/log/nginx \
-v $PWD/html:/usr/share/nginx/html \
nginx

参数说明:

  • -p 80:80:将容器的 80端口映射到宿主机的 80 端口(这里映射l多个端口)。

  • -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。日志目录

  • -v $PWD/html:/usr/share/nginx/html:将主机当前目录下的 logs 目录挂载到容器的/usr/share/nginx/html。静态文件目录

创建完成后,需要再/home/nginx/conf文件下创建nginx.conf文件

移动到conf目录下
cd /home/nginx/conf

#编辑文件
vim nginx.conf 

nginx.conf文件内容

user  nginx;
worker_processes  1;  ###与CPU核数相等或者2倍

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;
	
	#零下载浏览(数据0拷贝) 
    sendfile        on; 
    
    #tcp_nopush     on;

    keepalive_timeout  65;

    #gzip  on;
    include /etc/nginx/conf.d/*.conf;
    server {
        listen       80;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root   /usr/share/nginx/html; 
            index  index.html index.htm;
            try_files $uri $uri/ /index.html; 
        }
        location /api/ {
            proxy_pass http://127.0.0.1:8997; 
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }    
    }
}

注意:如果将静态文件放在docker中的/etc/nginx目录下时,可以使用相对路径。
如果非以上路径,请使用绝对路径,否则访问不到,挂载后只能使用绝对路径(/usr/share/nginx/html)

6、docker安装postgresql

docker run -d --name postgres -e POSTGRES_PASSWORD=123456 -e TZ=PRC -p 5432:5432 -v $PWD/data:/var/lib/postgresql/data  postgres:12

参数说明:

  • -p 5432:5432:将容器的 5432端口映射到宿主机的 5432 端口。

  • -v $PWD/data:/var/lib/postgresql/data:将主机当前目录下的 /data 挂载到容器的 :/var/lib/postgresql/data。配置目录

7、docker安装rabbitMQ

docker run \
-e RABBITMQ_DEFAULT_USER=yang \
-e RABBITMQ_DEFAULT_PASS=Yang@0509 \
--name rabbitmq \
-p 15672:15672 \
-p 5672:5672 \
-d \
rabbitmq:3-management

8、docker安装nacos

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 /mydata/nacos/logs:/home/nacos/logs \
-v /mydata/nacos/init.d/custom.properties:/home/nacos/init.d/custom.properties \
nacos/nacos-server

9、docker部署jar包

建立一个目录存放上传的jar包,如

#创建jar目录
mkdir /home/jar

#移动到jar目录
cd /home/jar

 在jar目录下新建文件Dockerfile,并填写以下内容(有所不同,注意Java名字)

vim Dockerfile #当前目录下新建文件

文件内容

FROM openjdk:8   
MAINTAINER bingo
ADD test.jar app.jar
EXPOSE 8088
ENTRYPOINT ["java","-jar","app.jar"]

参数说明:

  • from openjdk:8 拉取一个jdk为1.8的docker image

  • maintainer 作者是dh,指令设置生成镜像的 Author 字段

  • test.jar 就是你上传的jar包,替换为jar包的名称

  • app.jar 是你将该jar包重新命名为什么名称,在容器中运行

  • expose 该容器暴露的端口是多少,就是jar在容器中以多少端口运行

  • entrypoint 容器启动之后执行的命令,java -jar app.jar 即启动jar

打包成镜像

 docker build -t  <name>   .

参数说明:

  • name打包后的容器名

  • 注意最后的 . 表示 Dockerfile 文件在当前目录下

查看镜像

docker images

创建容器

 docker run -d --restart=always --name=demo -p 8080:8080 <name>

 最后可以使用docker ps -a查看所有创建的容器

docker ps -a

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值