赞
踩
目录
3.2、安装 Docker Engine-Community
sudo ufw status
注:如果没有安装防火墙可以使用命令安装
sudo sudo apt-get install ufw
sudo ufw enable
注:启动防火墙时,服务器会提示:Command may disrupt existing ssh connections.Proceed with operation (y|n)?
意思就是,命令有可能会中断本次ssh的连接,是否继续。
选择:y,会提示防火墙已打开。
sudo ufw disable
重启防火墙,添加规则以后需要使用该命令进行重启防火墙,比如设置对外开放的端口号等。
sudo ufw reload
sudo ufw version
官网地址:Java Downloads | Oracle 中国
sudo tar -zxvf jdk-8u381-linux-x64.tar.gz
- export JAVA_HOME=/usr/local/JDK/jdk1.8
- export JRE_HOME=${JAVA_HOME}/jre
- export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
- export PATH=.:${JAVA_HOME}/bin:$PATH
source /etc/profile
java -version
Ubuntu系统安装Docker_ubuntu安装docker_流觞浮云的博客-CSDN博客
sudo apt-get remove docker docker-engine docker.io containerd runc
sudo apt-get update
用于HTTPS来获取仓库
sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
sudo apt-key fingerprint 0EBFCD88
sudo add-apt-repository "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io
查看可获取的版本
apt-cache madison docker-ce
安装指定版本
sudo service docker start
sudo service docker stop
sudo service docker restart
docker images
REPOSITORY:镜像所在的仓库名称
TAG:镜像标签
IMAGEID:镜像ID
CREATED:镜像的创建日期(不是获取该镜像的日期)
SIZE:镜像大小
docker search mysql
要想获取某个镜像,我们可以使用pull命令,从仓库中拉取镜像到本地,如
docker pull hackeryx/ubuntu:16.04
docker image rm 镜像名或镜像 id 或 docker rmi 镜像名或镜像 id
docker run [option] 镜像名:tag [向启动容器中传入的命令]
常用可选参数说明:
-i 表示以“交互模式”运行容器
-t 表示容器启动后会进入其命令行。加入这两个参数后,容器创建就能登录进去。即 分配一个伪终端。
–name 为创建的容器命名
-v 表示目录映射关系(前者是宿主机目录,后者是映射到宿主机上的目录,即 宿主机目录:容器中目录),可以使 用多个-v 做多个目录或文件映射。注意:最好做目录映射,在宿主机上做修改,然后 共享到容器上。
-d 在run后面加上-d参数,则会创建一个守护式容器在后台运行(这样创建容器后不 会自动登录容器,如果只加-i -t 两个参数,创建后就会自动进去容器)。
-p 表示端口映射,前者是宿主机端口,后者是容器内的映射端口。可以使用多个-p 做多个端口映射
-e 为容器设置环境变量
–network=host 表示将主机的网络环境映射到容器中,容器的网络与主机相同
例如,创建一个交互式容器,并命名为myubuntu
docker run -it --name=ubuntu kochul2000/ubuntu20.04-apt-pip:latest /bin/bash
在容器中可以随意执行linux命令,就是一个ubuntu的环境,当执行exit命令退出时,该容器也随之停止。
创建一个守护式容器:如果对于一个需要长期运行的容器来说,我们可以创建一个守护式容器。在容器内部exit退出时,容器也不会停止。
docker run -itd --name=ubuntu2 --network=host kochul2000/ubuntu20.04-apt-pip:latest
docker exec -it 容器名或容器id 进入后执行的第一个命令
docker exec -it ubuntu /bin/bash
列出本机所有容器,包括已经终止运行的
docker ps -a
docker container stop 容器名或容器id
docker container start 容器名或容器id
docker container kill 容器名或容器id
docker container rm 容器名或容器id 或 docker rm 容器名或容器id
命令 | 描述 |
docker pull mysql | 下载最新版Mysql镜像 (其实此命令就等同于 : docker pull mysql:latest ) |
docker pull mysql:xxx | 下载指定版本的Mysql镜像 (xxx指具体版本号) |
sudo docker run --name mysqlserver -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d -i -p 3306:3306 mysql:5.7
命令 | 描述 |
docker run | 创建一个新的容器 , 同时运行这个容器 |
–name mysql | 启动容器的名字 |
-d | 后台运行 |
-p 3306:3306 | 将容器的 3306 (后面那个) 端口映射到主机的 3306 (前面那个) 端口 |
–restart unless-stopped | 容器重启策略 |
-v /mydata/mysql/log:/var/log/mysql | 将日志文件夹挂载到主机 |
-v /mydata/mysql/data:/var/lib/mysql | 将mysql储存文件夹挂载到主机 |
-v /mydata/mysql/conf:/etc/mysql | 将配置文件夹挂载到主机 |
-e MYSQL_ROOT_PASSWORD=root | 设置 root 用户的密码 |
mysql:5.7 | 启动哪个版本的 mysql (本地镜像的版本) |
\ | shell 命令换行符 |
注:命令中所有 冒号 前面的是主机配置 , 冒号 后面的是mysql容器配置 。
–restart unless-stopped : 在docker重启时重启当前容器。但不包含docker重启时已停止的容器。
docker ps
- docker exec -it mysqlserver /bin/bash
- 或
- docker exec -it mysqlserver bash
mysql -uroot -p123456
use mysql;
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
flush privileges;
命令 | 描述 |
docker pull redis | 下载最新版Redis镜像 (其实此命令就等同于 : docker pull redis:latest ) |
docker pull redis:xxx | 下载指定版本的Redis镜像 (xxx指具体版本号) |
启动前需要先创建Redis外部挂载的配置文件 ( /usr/local/redis/conf/redis.conf )
之所以要先创建 , 是因为Redis本身容器只存在 /etc/redis 目录 , 本身就不创建 redis.conf 文件
当服务器和容器都不存在 redis.conf 文件时, 执行启动命令的时候 docker 会将 redis.conf 作为目录创建 , 这并不是我们想要的结果 。
sudo docker run -p 6379:6379 --name redis -v /usr/local/redis/data:/data -v /usr/local/redis/conf/redis.conf:/etc/redis/redis.conf -d redis redis-server /etc/redis/redis.conf
sudo docker ps
- docker exec -it redis /bin/bash
- ## 或者
- docker exec -it redis bash
命令 | 描述 |
docker pull tomcat | 下载最新版Tomcat镜像(其实此命令等同于:docker pull tomcat:latest) |
docker pull tomcat:xxx | 下载指定版本的Tomcat镜像(xxx指具体版本号) |
创建(conf、webapps、logs)并赋予权限,目的是做数据挂载
sudo docker run -d -p 8080:8080 --name tomcat -v /usr/local/tomcat/webapps:/usr/local/tomcat/webapps -v /usr/local/tomcat/conf:/usr/local/tomcat/conf -v /usr/local/tomcat/logs:/usr/local/tomcat/logs tomcat
设置Tomcat 上传图片的访问路径,使上传的图片可以直接用URL直接访问
在Tomcat的conf目录下的server.xml配置访问路径。
doBase:图片上传的路径
path:ip:8080/img/xxx.png访问图片的重定向方式
命令 | 描述 |
docker pull nginx | 下载最新版Nginx镜像(命令等同于:docker pull redis:latest) |
docker pull redis:xxx | 下载指定版本的Nginx镜像(xxx指具体版本号) |
在主机中创建Nginx文件目录并赋予权限sudo chmod 777 文件目录或文件/
以不做数据挂载的方式创建nginx容器并运行,目的是将docker中nginx的配置文件拷贝到主机
sudo docker run -d --name nginx -p 80:80 nginx:1.23
- sudo docker cp nginx:/etc/nginx/nginx.conf /usr/local/nginx/
- sudo docker cp nginx:/etc/nginx/conf.d /usr/local/nginx/conf/
- sudo docker cp nginx:/usr/share/nginx/html /usr/local/nginx/html
- sudo docker cp nginx:/var/log/nginx/ /usr/local/nginx/logs/
sudo docker rm -f 容器ID
- sudo docker run \
- -d \
- --name nginx \
- -p 80:80 \
- -v /usr/local/nginx/nginx.conf:/etc/nginx/nginx.conf \
- -v /usr/local/nginx/logs:/var/log/nginx \
- -v /usr/local/nginx/html:/usr/share/nginx/html \
- -v /usr/local/nginx/conf:/etc/nginx/conf.d \
- --privileged=true \
- -e TZ=Asia/Shanghai \
- nginx:1.23
将前端和后端项目上传到服务器并将目录赋予权限
启动后端项目后台运行并将日志保存在chatgpt.log文件中
nohup java -jar ruoyi-admin.jar > chatgpt.log 2>&1 &
前端项目通过nginx配置文件设置路由转发和方向代理,当然可以将dist文件放入到docker中的nginx文件目录下的html文件中,并重启nginx,可以参考3.9.9的配置文件。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。