main
黄海 12 months ago
parent ea128635ee
commit 29660956d3

@ -2,9 +2,9 @@
# $Docker$使用方法
### 一、安装与配置
### 一、安装
#### 1、使用官方安装脚本自动安装
#### 1、脚本安装
```shell
yum install -y yum-utils
@ -12,8 +12,6 @@ yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/
yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin -y
```
#### 2、配置镜像源
> 因为 “**未知**” 的原因,造成国内的$Docker$源全部失效,只好使用老毛子的$Docker$源,科学无国界~
@ -42,19 +40,13 @@ systemctl restart docker
systemctl start docker
```
#### 4、检查是否安装成功
```shell
docker run hello-world
```
#### 5、卸载 docker
#### 4、卸载 $Docker$
```shell
yum remove docker-ce
```
**删除镜像、容器、配置文件等内容**
#### 5、删除镜像、容器、配置文件等内容
```
rm -rf /var/lib/docker
@ -62,9 +54,7 @@ rm -rf /var/lib/docker
### 二、下载并使用容器
下面以$Tomcat$为例,介绍如何下载并使用容器:
### 二、镜像管理
#### 查看可用版本
@ -84,7 +74,7 @@ docker pull tomcat:9.0 # 下载9.0版本的Tomcat
docker pull tomcat:8.0 # 下载8.0版本的Tomcat
```
#### 查看镜像
#### 查看本地已下载好的镜像
```
docker images
@ -92,7 +82,7 @@ docker images
![](https://dsideal.obs.cn-north-1.myhuaweicloud.com/HuangHai/BlogImages/202408070750107.png)
#### 删除镜像
#### 删除本地下载好的镜像
```
docker rmi -f <IMAGE_NAME_OR_ID>
@ -100,7 +90,9 @@ docker rmi -f <IMAGE_NAME_OR_ID>
#### 运行$Tomcat$容器
### 三、容器管理
#### 1、运行容器
```
docker run --name tomcat -p 8080:8080 -v $PWD/test:/usr/local/tomcat/webapps/test -d tomcat
@ -130,9 +122,11 @@ mv manager/ ../webapps/
mv ROOT/ ../webapps/
```
查看$Tomcat$运行的主界面
![](https://dsideal.obs.cn-north-1.myhuaweicloud.com/HuangHai/BlogImages/202408061433517.png)
#### 通过浏览器访问
#### 2、查看容器
```
docker ps
@ -140,45 +134,7 @@ docker ps
![](https://dsideal.obs.cn-north-1.myhuaweicloud.com/HuangHai/BlogImages/202408061427759.png)
![](https://dsideal.obs.cn-north-1.myhuaweicloud.com/HuangHai/BlogImages/202408061433517.png)
### 三、$JDK1.8$实战
下载一个$JDK 1.8$的镜像
```shell
docker pull openjdk:8
```
![](https://dsideal.obs.cn-north-1.myhuaweicloud.com/HuangHai/BlogImages/202408061445978.png)
![![](https://dsideal.obs.cn-north-1.myhuaweicloud.com/HuangHai/BlogImages/202408061445978.png)](https://dsideal.obs.cn-north-1.myhuaweicloud.com/HuangHai/BlogImages/202408061445874.png)
#### 是否已下载成功
```
docker images|grep jdk
```
#### 启动容器
```
docker run -itd --name openjdk1.8 openjdk:8 /bin/bash
```
#### 查看容器
```
docker ps -a
```
#### 删除容器
![](https://dsideal.obs.cn-north-1.myhuaweicloud.com/HuangHai/BlogImages/202408070811575.png)
#### 3、删除容器
```
docker rm -f openjdk1.8
@ -186,7 +142,7 @@ docker rm -f openjdk1.8
docker rm -f 4bf2bd13f5b0
```
#### 进入容器
#### 4、进入容器
```
docker exec -it openjdk1.8 /bin/bash
@ -197,13 +153,13 @@ root@4bf2bd13f5b0:/usr/local/openjdk-8/bin# pwd
/usr/local/openjdk-8/bin
```
#### 将文件复制到容器外
#### 5、将文件复制到容器外
```
docker cp openjdk1.8:/usr/local/1.txt ./
```
#### 将文件复制回容器
#### 6、将文件复制回容器
```
docker cp ./1.txt openjdk1.8:/usr/local/
@ -213,7 +169,7 @@ docker cp ./1.txt openjdk1.8:/usr/local/
### 四、使用$Dockerfile$创建镜像
> dockerfile 内容如下:
> $dockerfile$ 内容如下:
```
# 指定了使用openjdk:8u332-jre-slim-bullseye镜像作为基础镜像并且给这个镜像起了一个别名runner
@ -244,8 +200,8 @@ ENV JAVA_OPTS="-server -XX:+UnlockExperimentalVMOptions -XX:+UseCGroupMemoryLimi
#配置文件中的spring.profiles.active在application.properties或bootstrap.properties以及对应的YAML格式中设置的spring.profiles.active具有较低的优先级。
#在您提供的情况中通过ENV指令设置的环境变量ENV_OPTS包含了-Dspring.profiles.active=test这意味着在启动Java应用程序时将通过命令行参数指定test配置文件为激活配置。因此即使bootstrap.yml文件中设置了profiles: active: dev应用程序最终将使用test配置文件因为命令行参数的优先级高于配置文件中的设置。
#所以最终JAR包执行时将使用test配置文件。
#ENV ENV_OPTS="-Dspring.profiles.active=test"
ENV ENV_OPTS="-Dspring.profiles.active=pro"
ENV ENV_OPTS="-Dspring.profiles.active=dev"
#ENV ENV_OPTS="-Dspring.profiles.active=pro"
# sh -c这告诉Docker容器使用shShell来执行后面的命令字符串。-c参数表示后面跟着的是要执行的命令。
#java $JAVA_OPTS $ENV_OPTS ...这是要执行的Java命令其中$JAVA_OPTS和$ENV_OPTS是之前通过ENV指令设置的环境变量它们将在运行时被替换为它们各自的值。
@ -255,7 +211,7 @@ ENTRYPOINT [ "sh", "-c", "java $JAVA_OPTS $ENV_OPTS -Djava.security.egd=file:/
```
#### 创建容器
```
mkdir /usr/local/publish
@ -266,15 +222,13 @@ rz -be
```
将$Java$的微服务项目打包:
![](https://dsideal.obs.cn-north-1.myhuaweicloud.com/HuangHai/BlogImages/202408070818789.png)
![](https://dsideal.obs.cn-north-1.myhuaweicloud.com/HuangHai/BlogImages/202408070818135.png)
#### 继续打包
```
cd /usr/local/publish
@ -318,7 +272,7 @@ docker run -d -p 7001:7001 gw-charge
docker ps
```
![](https://dsideal.obs.cn-north-1.myhuaweicloud.com/HuangHai/BlogImages/202408070827585.png)
![](https://dsideal.obs.cn-north-1.myhuaweicloud.com/HuangHai/BlogImages/202408070848284.png)
#### 查看$Docker$日志
@ -326,6 +280,6 @@ docker ps
docker logs c128a94e5884
```
发现是将发布的版本设置为Pro导致与实际环境不符修改回$Dev$,重新生成镜像尝试:
![](https://dsideal.obs.cn-north-1.myhuaweicloud.com/HuangHai/BlogImages/202408070839957.png)

Loading…
Cancel
Save