Docker 中安装环境笔记

1.安装 docker
  a.卸载旧版本
    yum remove docker \
    docker-client \
    docker-common \
    docker-latest \
    docker-latest-logrotate \
    docker-logrotate \
    docker-engine
  b.在线安装
    yum install -y yum-utils
  c.设置镜像仓库
    yum-config-manager \
    --add-repo \
    http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  d.更新 yum 软件包索引
    yum makecache fast
  e.安装 docker 相关内容
    yum install docker-ce docker-ce-cli containerd.io
  f.启动 docker
    systemctl start docker
    

--restart=always        用于指定容器退出时是否自动重启
-d		                后台运行
-p		                端口映射
-v		                卷挂载
-e		                环境配置
--name	                容器名字
curl localhost:3344     测试本地服务器是否正常工作

2.docker 安装 nginx
	docker pull nginx
    创建目录 
    mkdir -p /home/nginx/conf 
    mkdir -p /home/nginx/html 
    mkdir -p /home/nginx/logs
    
    启动 nginx
    docker run --restart=always -d -p 3344:80 --name nginx nginx

    再将容器内相应文件拷贝到宿主机上 f80bacd84584 为容器id
    docker cp f80bacd84584:/etc/nginx/. /home/nginx/conf
    docker cp f80bacd84584:/usr/share/nginx/html/. /home/nginx/html
    docker cp f80bacd84584:/var/log/nginx/. /home/nginx/logs

    再将该容器停止并删除
    docker stop f80bacd84584
	docker rm f80bacd84584

    最后重新启动并挂载
    docker run --restart=always -d -p 3344:80 -v /home/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /home/nginx/html:/usr/share/nginx/html -v /home/nginx/logs:/var/log/nginx --name nginx nginx
	
    curl localhost:3344
	如果在阿里云上部署要开放端口
	
3.docker 安装 elasticsearch
    启动 elasticsearch
	docker run --restart=always -d -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms64m -Xmx512m" --name elasticsearch elasticsearch
	
    curl localhost:9200
	docker stats
	如果在阿里云上部署要开放端口
	
4.docker 安装 portainer
    启动 portainer
	docker run --restart=always -d -p 8088:9000  -v /var/run/docker.sock:/var/run/docker.sock --privileged=true --name portainer portainer/portainer
	
5.docker 安装 mysql
	docker pull mysql:5.7
    启动 mysql
	docker run --restart=always -d -p 3306:3306 -v /home/mysql/conf:/etc/mysql/conf.d -v /home/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -e TZ=Asia/Shanghai --name mysql mysql:5.7
	
6.docker 安装 redis	
	docker pull redis
	在 /home/redis/redis.conf 目录下配置 redis.conf

    启动 redis
	docker run --restart=always -d -p 6379:6379 -v /home/redis/redis.conf:/usr/local/etc/redis/redis.conf --name redis redis

7.docker 安装 nacos
	docker pull nacos/nacos-server
	创建目录 
    mkdir -p /home/nacos/logs	
    mkdir -p /home/nacos/conf

	先启动 docker 生成 conf 下和 logs 下的文件
	docker run --restart=always -d -p 8848:8848 --privileged=true -e JVM_XMS=256m -e JVM_XMX=256m -e MODE=standalone --name nacos nacos/nacos-server

	再将容器内相应文件拷贝到宿主机上 a73e87966eda 为容器id
	docker cp a73e87966eda:/home/nacos/conf/. /home/nacos/conf
	docker cp a73e87966eda:/home/nacos/logs/. /home/nacos/logs

	再将该容器停止并删除
	docker stop a73e87966eda
	docker rm a73e87966eda

    将 application.properties 里面的数据库修改为服务器地址

	最后重新启动并挂载
	docker run --restart=always -d -p 8848:8848 --privileged=true -e JVM_XMS=256m -e JVM_XMX=256m -e MODE=standalone -v /home/nacos/logs/:/home/nacos/logs -v /home/nacos/conf/:/home/nacos/conf/ --name nacos nacos/nacos-server

    查看挂载的文件路径是否正确 
    docker inspect --format="{{json .Mounts}}" nacos

	进入容器内查看 
    docker exec -it nacos /bin/bash

	退出容器 
    exit

8.安装jdk
    查看当前环境是否有
    java -version

    如果有先卸载
    rpm -qa|grep jdk
    rpm -e --nodeps 查出来的jdk信息

    安装方式:rpm 安装
    安装文件放在 /home/jdk11/jdk-11.0.21_linux-x64_bin.rpm
    rpm -ivh jdk-11.0.21_linux-x64_bin.rpm

    安装完成后进入/usr目录查找java文件夹
    /usr/java/jdk-11

    配置环境变量
    vim /etc/profile

    添加如下内容
    export JAVA_HOME=/usr/java/jdk-11
    export JRE_HOME=${JAVA_HOME}/jre
    export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
    export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
    export PATH=$PATH:${JAVA_PATH}

    保存退出,让这个文件生效
    source /etc/profile

安装 docker-compose

云真机平台:前后端部署 | Sonic - 开源云真机平台

1.下载
    curl -L "https://github.com/docker/compose/releases/download/v2.18.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

2.设置权限
    chmod +x /usr/local/bin/docker-compose

3.放到系统目录
    ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

4.查看版本
    docker-compose version

 执行 docker-compose

[root@sanyiSonic sonic]# ls -a
.  ..  docker-compose.yml  docker-compose-zh.yml  .env  nohup.out
[root@sanyiSonic sonic]# docker-compose up -d


部署若依项目

前端:

        修改 nginx.conf 文件,新增 server 配置


user  nginx;
worker_processes  auto;

error_log  /var/log/nginx/error.log notice;
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;

    sendfile        on;
    #tcp_nopush     on;

    keepalive_timeout  65;

    #gzip  on;
	
	server {
		listen 80;
		server_name 192.168.2.120;
		#charset koi8-r;
		#access_log logs/host.access.log main;
		location / {
		  root    /usr/share/nginx/html/dist;
		  index  index.html index.htm;
		  try_files $uri $uri/ /index.html; # 此处是解决刷新报404问题,但是登陆后会有一个404页面,需要点击返回主页,退出登录后再重新登录就消失了,还是解决的不完美
		}
		location /prod-api/{
		  proxy_set_header Host $http_host;
		  proxy_set_header X-Real-IP $remote_addr;
		  proxy_set_header REMOTE-HOST $remote_addr;
		  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
		  rewrite ^/prod-api/(.*)$ /$1 break;
		  proxy_pass http://192.168.2.120:8080;
	    }
	}

    include /etc/nginx/conf.d/*.conf;
}
重启 nginx 服务
docker restart nginx

        构建若依前端,打包生成 dist 文件夹,如果在生成中报如下错误,参考一下解决办法

 如果启动报错  ERROR  Error: error:0308010C:digital envelope routines::unsupported
 是因为node.js V17版本中最近发布的OpenSSL3.0, 而OpenSSL3.0对允许算法和密钥大小增加了严格的限制
 解决方法:1.降低 node 的版本
          2.执行命令 $env:NODE_OPTIONS="--openssl-legacy-provider"
 参考:https://blog.csdn.net/m0_65933139/article/details/130690790

        将文件夹,放在该目录下

后端 :

创建 Dockerfile 生成若依后台镜像

vim Dockerfile

里面写

FROM amazoncorretto:11

RUN mkdir -p /ruoyi-admin

WORKDIR /ruoyi-admin

ENV JAR_FILE=ruoyi-admin.jar

COPY ${JAR_FILE} ${JAR_FILE}

EXPOSE 8080

ENV TZ=Asia/Shanghai JAVA_OPTS="-Xms512m -Xmx1024m -Djava.security.egd=file:/dev/./urandom"

CMD java -jar $JAR_FILE $JAVA_OPTS

保存退出

在当前文件夹内执行命令,Dockerfile 和 ruoyi-admin.jar 要在同一个文件夹内

docker build -t ruoyi-admin .

1.运行 ruoyi-admin 镜像
    docker run: 运行一个容器
    --restart=always: 设置容器总是自动重启
    -d: 在后台模式下运行容器
    -p 8080:8080: 将容器的 8080 端口映射到宿主机的 8080 端口
    -v /etc/localtime:/etc/localtime: 将宿主机的时间设置挂载到容器内的 /etc/localtime 文件,用于同步容器的时间
    -v $PWD:/ruoyi: 将当前目录挂载到容器内的 /ruoyi 目录
    -v /home/ruoyi/logs:/home/ruoyi/logs: 将容器内当前目录下的日志同步到宿主机目录下
    --name=ruoyi-admin: 指定容器的名称为 ruoyi-admin
    --network bridge: 将容器连接到名为 bridge 的网络
    ruoyi-admin: 要运行的镜像名称

    docker run --restart=always -d -p 8080:8080 -v /etc/localtime:/etc/localtime -v $PWD:/ruoyi -v /home/ruoyi/logs:/home/ruoyi/logs --network bridge --name ruoyi-admin ruoyi-admin

  • 10
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Docker是一种开源的容器化平台,它能够帮助开发者和运维人员将应用程序及其依赖项打包到一个可移植的容器,方便在不同的环境部署和运行。 安装Docker的基本操作如下: 1. 首先,在Linux系统,可以使用以下命令来安装Docker: ``` sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io ``` 2. 安装完成后,可以使用以下命令来验证Docker是否正确安装: ``` docker --version ``` 3. 如果需要使用Docker的命令行工具,可以将当前用户添加到`docker`用户组: ``` sudo usermod -aG docker $USER ``` 4. 为了使Docker服务在启动时自动启动,可以使用以下命令将其设置为开机自启动: ``` sudo systemctl enable docker ``` 卸载Docker的基本操作如下: 1. 首先,停止并删除所有正在运行的容器: ``` docker stop $(docker ps -aq) docker rm $(docker ps -aq) ``` 2. 然后,卸载Docker软件包: ``` sudo apt-get purge docker-ce docker-ce-cli containerd.io ``` 3. 假如希望删除所有与Docker相关的镜像、容器和卷等数据,可以使用以下命令进行清理: ``` sudo rm -rf /var/lib/docker ``` 4. 最后,可以使用以下命令来确认是否成功卸载Docker: ``` docker --version ``` 总结起来,安装Docker只需要几个简单的命令即可完成,卸载Docker也同样简单。通过掌握这些基本操作,你可以更好地进行Docker安装和卸载,并在需要的时候方便地使用Docker进行应用程序的部署和管理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值