Docker基础 - Docker入门实战快速上手
...大约 3 分钟
Docker基础 - Docker入门实战快速上手
简介
镜像
可以理解为安装包
容器
正在运行的程序
宿主机
服务器本身
安装Docker
CentOS安装
安装依赖
yum install yum-utils
添加docker安装地址
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
安装docker
yum install -y docker-ce
启动docker服务
systemctl start docker
Ubuntu安装
更新包索引
apt update
安装docker
apt install docker.io
进行初始化
配置镜像加速器
vim /etc/docker/daemon.json
{
"registry-mirros": ["https://mirror.ccs.tencent.com"]
}
重启docker
systemctl daemon-reload
systemctl restart docker
查看镜像
docker images
安装常用软件
安装tomcat
拉取镜像
docker pull tomcat:9
运行容器
docker run -d --name tomcat -p 8080:8080 tomcat:9
安装mysql
创建文件夹
mkdir -p /data/mysql
cd /data/mysql
编辑配置文件
vim my.cnf
[client]
default-character-set=utf8mb4
[mysql]
default-character-set=utf8mb4
[mysqld]
character-set-server=utf8mb4
default-time-zone=+8:00
secure_file_priv=NULL
max_allowed_packet=2G
拉取mysql镜像
docker pull mysql
运行mysql
docker run -d --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -v /data/mysql:/etc/mysql --restart=always mysql
- 创建容器时添加参数 --restart=always 后,当docker重启时,容器自动启动。
安装oracle
拉取oracle镜像
hangzhou.aliyuncs.com/helowin/oracle_11g
运行容器
docker run --name oracle -d -p 1521:1521 registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
进入容器
docker exec -it oracle bash
切换root用户
su
输入密码
helowin
编辑环境变量
vi /etc/profile
export ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_2
export ORACLE_SID=helowin
export PATH=$PATH:$ORACLE_HOME/bin
刷新环境变量
source /etc/profile
切到oracle用户
su - oracle
登录sqlplus
sqlplus /nolog
连接数据库dba
conn /as sysdba;
修改system用户的密码
alter user system identified by 123456;
alter user sys identified by 123456;
# 设置密码不过期
alter profile default limit PASSWORD_LIFE_TIME unlimited;
连接oracle
安装nginx
拉取镜像
docker pull nginx
启动容器
docker run -d --name nginx --net=host --privileged -v /data/nginx/conf.d:/etc/nginx/conf.d nginx
编辑配置文件
vim 80.conf
server {
# 监听80端口
listen 80;
location / {
# 容器内部的静态文件目录
root /usr/share/nginx/html;
}
}
部署项目
部署后端项目
拉取若依前后端分离版代码
git clone [email protected]:y_project/RuoYi-Vue.git
创建数据库
create database ruoyi;
修改application-druid.yml配置文件
url: jdbc:mysql://10.0.4.9:3306/ruoyi?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
username: root
password: 123456
10.0.4.9是服务器的内网ip,通过ipconfig可查看,不可使用localhost
修改application.yml配置文件
redis:
# redis地址
host: 10.0.4.9
如果没有安装redis,则需要安装redis
docker run -d --name redis -p 6379:6379 redis
编写Dockerfile
FROM openjdk:8
EXPOSE 8080
ENV TZ=Asia/Shanghai
ADD ruoyi-admin.jar app.jar
ENTRYPOINT ["java", "-jar", "app.jar"]
进行maven打包,并上传到Dockerfile同级目录
构建镜像
docker build -t ruoyi-server .
运行容器
docker run -d --name ruoyi-server -p 8080:8080 ruoyi-server
部署前端项目
安装依赖
npm install
打包
npm run build:prod
添加到zip压缩文件
然后上传到服务器
服务器解压zip文件
unzip dist.zip
编写nginx配置文件
vim nginx.conf
server {
listen 8081;
location / {
root /dist;
index index.html index.htm;
try_files $uri $uri/ /index.html;
}
location /prod-api{
# 转发到后端地址(由于容器和容器是互相隔离的,所以不能用localhost,localhost表示容器本身)
proxy_pass http://10.0.4.9:8080;
# 去掉/prod-api
rewrite ^/prod-api/(.*)$ /$1 break;
}
}
编写Dockerfile
# 使用基础镜像
FROM nginx
# 添加项目文件
COPY dist/ /dist/
# 添加nginx配置文件
ADD nginx.conf /etc/nginx/conf.d
构建镜像
docker build -t ruoyi-ui .
运行容器
docker run -d --name ruoyi-ui -p 8081:8081 ruoyi-ui
访问服务器ip:8081即可进入若依项目
参考文章
- 部门同事林哲豪的分享会
赞助