部署project_exam_system项目——及容器的编排
(一)安装docker、编辑daemon.json文件、安装docker-compose编排容器、启动docker
1.环境准备
[root@docker--1 ~]# rz -Erz waiting to receive.[root@docker--1 ~]# lsanaconda-ks.cfg docker.sh[root@docker--1 ~]# source docker.sh [root@docker--1 ~]# vim /etc/docker/daemon.json [root@docker--1 ~]# vim /usr/lib/systemd/system/docker.service[root@docker--1 ~]# systemctl daemon-reload[root@docker--1 ~]# systemctl start docker
脚本内容如下:
cat << EOF | tee /etc/modules-load.d/k8s.conf
overlay
br_netfilter
EOFmodprobe overlaymodprobe br_netfiltercat << EOF | tee /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-iptables = 1
net.bridge.bridge-nf-call-ip6tables = 1
net.ipv4.ip_forward = 1
EOFsysctl --systemyum install -y yum-utils device-mapper-persistent-data lvm2yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repoyum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y
2.普通部署
按照正常步骤安装docker,这里可参考前面的笔记
3.拉取nginx镜像
[root@docker3 ~]# docker pull nginxUsing default tag: latestlatest: Pulling from library/nginxDigest: sha256:447a8665cc1dab95b1ca778e162215839ccbb9189104c79d7ec3a81e14577addStatus: Image is up to date for nginx:latestdocker.io/library/nginx:latest
4.查看镜像
[root@docker3 ~]# docker imagesREPOSITORY TAG IMAGE ID CREATED SIZEnginx latest 5ef79149e0ec 2 weeks ago 188MB
5.创建nginx容器
[root@docker--1 ~]# docker run -itd -p80:80 nginx:latest a9200f608c60aa1c8827b5562b7906d543d48e38c06f76bdb1b702ce73209117
[root@docker--1 ~]# docker psCONTAINER ID IMAGE COMMAND CREATED STATUS NAMESa9200f608c60 nginx:latest "/docker-entrypoint.…" 19 seconds ago Up 17 seconds cp stupefied_feistel
进行验证
[root@docker--1 ~]# curl localhost<!DOCTYPE html><html><head><title>Welcome to nginx!</title><style>html { color-scheme: light dark; }body { width: 35em; margin: 0 auto;font-family: Tahoma, Verdana, Arial, sans-serif; }</style></head><body><h1>Welcome to nginx!</h1><p>If you see this page, the nginx web server is successfully installed andworking. Further configuration is required.</p><p>For online documentation and support please refer tonginx.org.<br/>Commercial support is available atnginx.com.</p><p><em>Thank you for using nginx.</em></p></body></html>
注:容器启动后nginx服务就自动发布了,浏览器也能够看到nginx页面
(二)部署project_exam_system项目
创建一个目录,放置前端和后端的资料
[root@docker--1 ~]# mkdir project_exam_system
切入到所创建的目录中
[root@docker--1 ~]# cd project_exam_system/
创建web目录
[root@docker--1 project_exam_system]# mkdir web
切入到web目录下
[root@docker--1 project_exam_system]# cd web/
拖拽dist.zip的压缩包
[root@docker--1 web]# rz -Erz waiting to receive.[root@docker--1 web]# lsdist.zip
安装unzip
[root@docker--1 web]# yum -y install unzip
使用unzip进行解压dist.zip的包
[root@docker--1 web]# unzip dist.zip [root@docker--1 web]# lsdist dist.zip[root@docker--1 web]# cd ..
停止并删除前面所创建的容器
停止容器
[root@docker--1 project_exam_system]# docker stop a92
a92
删除容器
[root@docker--1 project_exam_system]# docker rm a92
a92
创建容器,进行映射端口和挂载目录
[root@docker--1 project_exam_system]# docker run -itd -p80:80 -v /root/project_exam_syml/ nginx:latest 7c7f8bbb4ae732042b9ad3060d58f5c595f76fd7348b2b8e5beea857f74cf6e2
浏览器访问

采用域名劫持设置域名
顾名思义也就是修改物理机上的hosts文件来达到效果

修改hosts文件

后端业务jdk17、springboot
#拉取centos镜像[root@docker--1 project_exam_system]# docker pull centos#回到根目录[root@docker--1 project_exam_system]# cd#拖拽项目资源和jdk17版本的文件#项目资源:application.propertiesProject_ExamSystem-V1.0.0.war#jdk17版本的文件: jdk-17_linux-x64_bin.tar.gz [root@docker--1 ~]# rz -E
rz waiting to receive.
[root@docker--1 ~]# rz -E
rz waiting to receive.
[root@docker--1 ~]# rz -E
rz waiting to receive.#查看 [root@docker--1 ~]# ls
anaconda-ks.cfg docker.sh project_exam_system
application.properties jdk-17_linux-x64_bin.tar.gz Project_ExamSystem-V1.0.0.war#使用centos镜像创建容器[root@docker--1 ~]# docker run -it centos:latest /bin/bash#使用ctrl p+q退出[root@2267541087e9 /]# [root@docker--1 ~]# #查看容器[root@docker--1 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
2267541087e9 centos:latest "/bin/bash" 44 seconds ago Up 43 seconds hardcore_raman
7c7f8bbb4ae7 nginx:latest "/docker-entrypoint.…" 34 minutes ago Up 34 minutes 0.0.0.0:80->80/tcp, :::80->80/tcp thirsty_babbage#将在服务器上的java文件上传到容器[root@docker--1 ~]# docker cp jdk-17_linux-x64_bin.tar.gz 226:/
Successfully copied 183MB to 226:/
[root@docker--1 ~]# docker cp application.properties 226:/
Successfully copied 4.1kB to 226:/
[root@docker--1 ~]# docker cp Project_ExamSystem-V1.0.0.war 226:/
Successfully copied 41MB to 226:/#对已经传到容器的文件进行部署[root@docker--1 ~]# docker attach 226[root@2267541087e9 /]# ls
Project_ExamSystem-V1.0.0.war home media run usr
application.properties jdk-17_linux-x64_bin.tar.gz mnt sbin var
bin lib opt srv
dev lib64 proc sys
etc lost+found root tmp#创建目录[root@2267541087e9 /]# mkdir /usr/local/jdk[root@2267541087e9 /]# tar -zxvf jdk-17_linux-x64_bin.tar.gz -C /usr/local/jdk/ --strip-components=1[root@2267541087e9 /]# vi application.properties spring.datasource.url=jdbc:mysql://192.168.1.24:3306/project exam system
spring.datasource.username=dd
spring.datasource.password=1
spring,datasource.driver-class-name=com.mysal.cj.jdbc.Driver[root@2267541087e9 /]# /usr/local/jdk/bin/java -jar Project_ExamSystem-V1.0.0.war . ____ _ __ _ _/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \\\/ ___)| |_)| | | | | || (_| | ) ) ) )' |____| .__|_| |_|_| |_\__, | / / / /=========|_|==============|___/=/_/_/_/:: Spring Boot :: (v3.3.2)running for 8.671)
read escape sequence
[root@docker--1 ~]# curl 172.17.0.3:8080
{"code":20002,"msg":"账号不存在或密码错误"}[root@docker--1 ~]#
[root@docker--1 ~]# docker commit 226 java:v0
sha256:cf1a38ea2001eac37d139eaa9d76899aed7e3521fcd7c07588edcf705f817add
[root@docker--1 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
java v0 cf1a38ea2001 8 seconds ago 774MB
nginx latest 5ef79149e0ec 2 weeks ago 188MB
centos latest 5d0da3dc9764 2 years ago 231MB
[root@docker--1 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
2267541087e9 centos:latest "/bin/bash" 38 minutes ago Up 38 minutes hardcore_raman
7c7f8bbb4ae7 nginx:latest "/docker-entrypoint.…" About an hour ago Up About an hour 0.0.0.0:80->80/tcp, :::80->80/tcp thirsty_babbage
[root@docker--1 ~]# docker stop 226
226
[root@docker--1 ~]# docker rm 226
[root@docker--1 ~]# docker run -itd -p8080:8080 java:v0
d3a039010bf133b0dffa280664274d517f2c149d751ab45883d3dfc08dc2f5cc
[root@docker--1 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
d3a039010bf1 java:v0 "/bin/bash" 12 seconds ago Up 11 seconds 0.0.0.0:8080->8080/tcp, :::8080->8080/tcp quirky_bell
7c7f8bbb4ae7 nginx:latest "/docker-entrypoint.…" About an hour ago Up About an hour 0.0.0.0:80->80/tcp, :::80->80/tcp thirsty_babbage
[root@docker--1 ~]# docker attach d3a
[root@d3a039010bf1 /]# /usr/local/jdk/bin/java -jar Project_ExamSystem-V1.0.0.war . ____ _ __ _ _/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \\\/ ___)| |_)| | | | | || (_| | ) ) ) )' |____| .__|_| |_|_| |_\__, | / / / /=========|_|==============|___/=/_/_/_/:: Spring Boot :: (v3.3.2)running for 8.057)
read escape sequence
ctrl p+q退出
[root@docker--1 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
d3a039010bf1 java:v0 "/bin/bash" 11 minutes ago Up 11 minutes 0.0.0.0:8080->8080/tcp, :::8080->8080/tcp quirky_bell
7c7f8bbb4ae7 nginx:latest "/docker-entrypoint.…" About an hour ago Up About an hour 0.0.0.0:80->80/tcp, :::80->80/tcp thirsty_babbage
浏览器访问
#拉取mysql镜像
[root@docker--1 ~]# docker pull mysql:5.7.44
#创建容器,指定端口映射
[root@docker--1 ~]# docker run -itd -e MYSQL_ROOT_PASSWORD=root -p 3306:3306 mysql:5.7.44
48fd8551ec838b218bd853bb49e99fb4650ebd3c22a93d214a2cc64941eae141
#查看容器
[root@docker--1 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
48fd8551ec83 mysql:5.7.44 "docker-entrypoint.s…" 15 seconds ago Up 14 seconds 0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp flamboyant_nash
d3a039010bf1 java:v0 "/bin/bash" 3 hours ago Up 3 hours 0.0.0.0:8080->8080/tcp, :::8080->8080/tcp quirky_bell
7c7f8bbb4ae7 nginx:latest "/docker-entrypoint.…" 5 hours ago Up 5 hours 0.0.0.0:80->80/tcp, :::80->80/tcp thirsty_babbage
#切入到project_exam_system目录下
[root@docker--1 ~]# cd project_exam_system/
[root@docker--1 project_exam_system]# ls
project_exam_system.sql web
#创建mysql目录
[root@docker--1 project_exam_system]# mkdir mysql
#移动文件
#将project_exam_system.sql移动到mysql目录下
[root@docker--1 project_exam_system]# mv project_exam_system.sql mysql/
#将project_exam_system.sql复制到容器[root@docker--1 ~]# docker cp project_exam_system/mysql/project_exam_system.sql 48fd:/
Successfully copied 11MB to 48fd:/
#查看镜像[root@docker--1 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
java v0 cf1a38ea2001 4 hours ago 774MB
nginx latest 5ef79149e0ec 2 weeks ago 188MB
mysql 5.7.44 5107333e08a8 8 months ago 501MB
centos latest 5d0da3dc9764 2 years ago 231MB
[root@docker--1 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
48fd8551ec83 mysql:5.7.44 "docker-entrypoint.s…" 13 minutes ago Up 13 minutes 0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp flamboyant_nash
d3a039010bf1 java:v0 "/bin/bash" 3 hours ago Up 3 hours 0.0.0.0:8080->8080/tcp, :::8080->8080/tcp quirky_bell
7c7f8bbb4ae7 nginx:latest "/docker-entrypoint.…" 5 hours ago Up 5 hours 0.0.0.0:80->80/tcp, :::80->80/tcp thirsty_babbage
[root@docker--1 ~]# docker exec -it 48fd mysql -uroot -proot
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 10
Server version: 5.7.44 MySQL Community Server (GPL)Copyright (c) 2000, 2023, Oracle and/or its affiliates.Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql> show databases;
+---------------------+
| Database |
+---------------------+
| information_schema |
| mysql |
| performance_schema |
| project_exam_system |
| sys |
+---------------------+
5 rows in set (0.00 sec)mysql> use project_exam_system;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -ADatabase changed
mysql> select * from user;
+-----+--------------+----------+--------+---------------------+----------+---------------------+--------+-------+
| id | userName | password | status | createTime | createOr | editTime | editOr | isDel |
+-----+--------------+----------+--------+---------------------+----------+---------------------+--------+-------+
| 1 | 21001189 | 111111 | 0 | 2024-08-21 09:45:05 | NULL | 2024-08-22 22:04:44 | NULL | 0 |
| 2 | 21001190 | 111111 | 0 | 2024-08-21 09:45:05 | NULL | 2024-08-21 09:45:05 | NULL | 0 |
| 3 | 21001191 | 111111 | 0 | 2024-08-21 09:45:05 | NULL | 2024-08-21 09:45:05 | NULL | 0 |
| 4 | 21001192 | 111111 | 0 | 2024-08-21 09:45:05 | NULL | 2024-08-21 09:45:05 | NULL | 0 |
| 5 | 21001193 | 111111 | 0 | 2024-08-21 09:45:05 | NULL | 2024-08-21 09:45:05 | NULL | 0 |
| 6 | 21001194 | 111111 | 0 | 2024-08-21 09:45:05 | NULL | 2024-08-21 09:45:05 | NULL | 0 |mysql> create user 'dd'@'%' identified by '1';
Query OK, 0 rows affected (0.01 sec)mysql> grant all on *.* to 'dd'@'%';
Query OK, 0 rows affected (0.00 sec)mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)mysql> exit
Bye
[root@docker--1 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
48fd8551ec83 mysql:5.7.44 "docker-entrypoint.s…" 27 minutes ago Up 27 minutes 0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp flamboyant_nash
d3a039010bf1 java:v0 "/bin/bash" 4 hours ago Up 4 hours 0.0.0.0:8080->8080/tcp, :::8080->8080/tcp quirky_bell
7c7f8bbb4ae7 nginx:latest "/docker-entrypoint.…" 5 hours ago Up 5 hours 0.0.0.0:80->80/tcp, :::80->80/tcp thirsty_babbage
[root@docker--1 ~]# ls
anaconda-ks.cfg jdk-17_linux-x64_bin.tar.gz Project_ExamSystem-V1.0.0.war
application.properties mysql
docker.sh project_exam_system
[root@docker--1 ~]# mkdir project_exam_system/java
[root@docker--1 ~]# mv jdk-17_linux-x64_bin.tar.gz project_exam_system/java/
[root@docker--1 ~]# mv application.properties project_exam_system/java/
[root@docker--1 ~]# mv Project_ExamSystem-V1.0.0.war project_exam_system/java/
[root@docker--1 ~]# ls
anaconda-ks.cfg docker.sh mysql project_exam_system
[root@docker--1 ~]# tree -L 3 project_exam_system/
project_exam_system/
├── java
│ ├── application.properties
│ ├── jdk-17_linux-x64_bin.tar.gz
│ └── Project_ExamSystem-V1.0.0.war
├── mysql
│ └── project_exam_system.sql
└── web├── dist│ ├── assets│ ├── favicon.ico│ └── index.html└── dist.zip5 directories, 7 files[root@docker--1 ~]# cd project_exam_system/java/
[root@docker--1 java]# rz -E
rz waiting to receive.
[root@docker--1 java]# ls
application.properties jdk-17_linux-x64_bin.tar.gz
Dockerfile Project_ExamSystem-V1.0.0.war
[root@docker--1 java]# docker build -t java:v1 .
[root@docker--1 java]# ls
application.properties jdk-17_linux-x64_bin.tar.gz
Dockerfile Project_ExamSystem-V1.0.0.war
[root@docker--1 java]# tar -zxvf jdk-17_linux-x64_bin.tar.gz [root@docker--1 java]# ls
application.properties jdk-17.0.12 Project_ExamSystem-V1.0.0.war
Dockerfile jdk-17_linux-x64_bin.tar.gz
[root@docker--1 java]# mv jdk-17.0.12/ jdk
[root@docker--1 java]# ls
application.properties jdk Project_ExamSystem-V1.0.0.war
Dockerfile jdk-17_linux-x64_bin.tar.gz
[root@docker--1 java]# vim Dockerfile
[root@docker--1 java]# docker build -t java:v1 .
[+] Building 5.5s (9/10) docker:default=> [internal] load build definition from Dockerfile 0.0s=> => transferring dockerfile: 405B 0.0s=> [internal] load metadata for docker.io/library/centos:latest 0.0s=> [internal] load .dockerignore 0.0s=> => transferring context: 2B 0.0s=> [1/7] FROM docker.io/library/centos:latest 0.0s=> [internal] load build context 3.6s=> => transferring context: 318.73MB 3.6s=> CACHED [2/7] ADD application.properties /application.properties 0.0s=> [3/7] ADD jdk/ /usr/local/jdk/ 1.2s=> [4/7] ADD Project_ExamSystem-V1.0.0.war /Project_ExamSystem-V1.0.0.war 0.2s=> ERROR [5/7] RUN mkdir /usr/local/jdk 0.4s
------ > [5/7] RUN mkdir /usr/local/jdk:
0.361 mkdir: cannot create directory '/usr/local/jdk': File exists
------
Dockerfile:13
--------------------11 | EXPOSE 808012 | 13 | >>> RUN mkdir /usr/local/jdk14 | 15 | RUN tar -zxvf /jdk-17_linux-x64_bin.tar.gz -C /usr/local/jdk --strip-components=1
--------------------
ERROR: failed to solve: process "/bin/sh -c mkdir /usr/local/jdk" did not complete successfully: exit code: 1
[root@docker--1 java]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
java v0 cf1a38ea2001 5 hours ago 774MB
nginx latest 5ef79149e0ec 2 weeks ago 188MB
mysql 5.7.44 5107333e08a8 8 months ago 501MB
centos latest 5d0da3dc9764 2 years ago 231MB
[root@docker--1 java]# vim Dockerfile
[root@docker--1 java]# docker build -t java:v1 .
[+] Building 2.4s (10/10) FINISHED docker:default=> [internal] load build definition from Dockerfile 0.0s=> => transferring dockerfile: 404B 0.0s=> [internal] load metadata for docker.io/library/centos:latest 0.0s=> [internal] load .dockerignore 0.0s=> => transferring context: 2B 0.0s=> [1/7] FROM docker.io/library/centos:latest 0.0s=> [internal] load build context 0.0s=> => transferring context: 25.82kB 0.0s=> CACHED [2/7] ADD application.properties /application.properties 0.0s=> [3/7] ADD jdk/ /usr/loca/jdk/ 1.2s=> [4/7] ADD Project_ExamSystem-V1.0.0.war /Project_ExamSystem-V1.0.0.war 0.2s=> [5/7] RUN mkdir /usr/local/jdk 0.4s=> ERROR [6/7] RUN tar -zxvf /jdk-17_linux-x64_bin.tar.gz -C /usr/local/jdk - 0.4s
------ > [6/7] RUN tar -zxvf /jdk-17_linux-x64_bin.tar.gz -C /usr/local/jdk --strip-components=1:
0.306 tar (child): /jdk-17_linux-x64_bin.tar.gz: Cannot open: No such file or directory
0.306 tar (child): Error is not recoverable: exiting now
0.308 tar: Child returned status 2
0.308 tar: Error is not recoverable: exiting now
------
Dockerfile:15
--------------------13 | RUN mkdir /usr/local/jdk14 | 15 | >>> RUN tar -zxvf /jdk-17_linux-x64_bin.tar.gz -C /usr/local/jdk --strip-components=116 | 17 | CMD [ "/usr/local/jdk/bin/java -jar Project_ExamSystem-V1.0.0.war" ]
--------------------
ERROR: failed to solve: process "/bin/sh -c tar -zxvf /jdk-17_linux-x64_bin.tar.gz -C /usr/local/jdk --strip-components=1" did not complete successfully: exit code: 2
[root@docker--1 java]# vim Dockerfile
[root@docker--1 java]# docker build -t java:v1 .
[+] Building 0.4s (9/9) FINISHED docker:default=> [internal] load build definition from Dockerfile 0.0s=> => transferring dockerfile: 321B 0.0s=> [internal] load metadata for docker.io/library/centos:latest 0.0s=> [internal] load .dockerignore 0.0s=> => transferring context: 2B 0.0s=> [1/6] FROM docker.io/library/centos:latest 0.0s=> [internal] load build context 0.0s=> => transferring context: 25.82kB 0.0s=> CACHED [2/6] ADD application.properties /application.properties 0.0s=> CACHED [3/6] ADD jdk /usr/local/jdk/ 0.0s=> CACHED [4/6] ADD Project_ExamSystem-V1.0.0.war /Project_ExamSystem-V1.0.0. 0.0s=> ERROR [5/6] RUN mkdir /usr/local/jdk 0.3s
------ > [5/6] RUN mkdir /usr/local/jdk:
0.246 mkdir: cannot create directory '/usr/local/jdk': File exists
------
Dockerfile:13
--------------------11 | EXPOSE 808012 | 13 | >>> RUN mkdir /usr/local/jdk14 | 15 | CMD [ "/usr/local/jdk/bin/java -jar Project_ExamSystem-V1.0.0.war" ]
--------------------
ERROR: failed to solve: process "/bin/sh -c mkdir /usr/local/jdk" did not complete successfully: exit code: 1
[root@docker--1 java]# vim Dockerfile
[root@docker--1 java]# docker build -t java:v1 .
[+] Building 2.2s (9/9) FINISHED docker:default=> [internal] load build definition from Dockerfile 0.0s=> => transferring dockerfile: 295B 0.0s=> [internal] load metadata for docker.io/library/centos:latest 0.0s=> [internal] load .dockerignore 0.0s=> => transferring context: 2B 0.0s=> [1/5] FROM docker.io/library/centos:latest 0.0s=> [internal] load build context 0.0s=> => transferring context: 25.82kB 0.0s=> CACHED [2/5] ADD application.properties /application.properties 0.0s=> CACHED [3/5] ADD jdk /usr/local/jdk/ 0.0s=> CACHED [4/5] ADD Project_ExamSystem-V1.0.0.war /Project_ExamSystem-V1.0.0. 0.0s=> exporting to image 2.0s=> => exporting layers 2.0s=> => writing image sha256:8738b8a36bf97b7066911888fcc6ccfde793b4f42892be3fe7 0.0s=> => naming to docker.io/library/java:v1 0.0s
[root@docker--1 java]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
java v1 8738b8a36bf9 5 minutes ago 591MB
java v0 cf1a38ea2001 5 hours ago 774MB
nginx latest 5ef79149e0ec 2 weeks ago 188MB
mysql 5.7.44 5107333e08a8 8 months ago 501MB
centos latest 5d0da3dc9764 2 years ago 231MB
[root@docker--1 java]# docker run -itd -p8080:8080 java:v1 /bin/bash
0379c12f93fc7d06c6a236fe53d3db73b8a74387eb6dac439cf3de7a0fee9073
docker: Error response from daemon: driver failed programming external connectivity on endpoint dreamy_jones (f34b58f6da48030ef97dad4802d6d0e9191c078f6f047b8b96999b0549fc8b16): Bind for 0.0.0.0:8080 failed: port is already allocated.
[root@docker--1 java]# docker run -itd -p8081:8080 java:v1 /bin/bash
a3c4fbc92430316aae70755992d76c3d1d2868560f61e1cbbfb5dc57eb93cd4b
[root@docker--1 java]# docker ps --all
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a3c4fbc92430 java:v1 "/bin/bash" 55 seconds ago Up 55 seconds 0.0.0.0:8081->8080/tcp, :::8081->8080/tcp heuristic_carson
0379c12f93fc java:v1 "/bin/bash" About a minute ago Created dreamy_jones
48fd8551ec83 mysql:5.7.44 "docker-entrypoint.s…" About an hour ago Up About an hour 0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp flamboyant_nash
d3a039010bf1 java:v0 "/bin/bash" 5 hours ago Up 5 hours 0.0.0.0:8080->8080/tcp, :::8080->8080/tcp quirky_bell
7c7f8bbb4ae7 nginx:latest "/docker-entrypoint.…" 6 hours ago Up 6 hours 0.0.0.0:80->80/tcp, :::80->80/tcp thirsty_babbage
[root@docker--1 java]# docker stop 037
037
[root@docker--1 java]# docker rm 037
037
[root@docker--1 java]# docker ps --all
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a3c4fbc92430 java:v1 "/bin/bash" About a minute ago Up About a minute 0.0.0.0:8081->8080/tcp, :::8081->8080/tcp heuristic_carson
48fd8551ec83 mysql:5.7.44 "docker-entrypoint.s…" 2 hours ago Up 2 hours 0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp flamboyant_nash
d3a039010bf1 java:v0 "/bin/bash" 5 hours ago Up 5 hours 0.0.0.0:8080->8080/tcp, :::8080->8080/tcp quirky_bell
7c7f8bbb4ae7 nginx:latest "/docker-entrypoint.…" 6 hours ago Up 6 hours 0.0.0.0:80->80/tcp, :::80->80/tcp thirsty_babbage
[root@docker--1 java]# docker rm heuristic_carson
Error response from daemon: cannot remove container "/heuristic_carson": container is running: stop the container before removing or force remove
[root@docker--1 java]# docker ps --all
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a3c4fbc92430 java:v1 "/bin/bash" 2 minutes ago Up 2 minutes 0.0.0.0:8081->8080/tcp, :::8081->8080/tcp heuristic_carson
48fd8551ec83 mysql:5.7.44 "docker-entrypoint.s…" 2 hours ago Up 2 hours 0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp flamboyant_nash
d3a039010bf1 java:v0 "/bin/bash" 5 hours ago Up 5 hours 0.0.0.0:8080->8080/tcp, :::8080->8080/tcp quirky_bell
7c7f8bbb4ae7 nginx:latest "/docker-entrypoint.…" 6 hours ago Up 6 hours 0.0.0.0:80->80/tcp, :::80->80/tcp thirsty_babbage
[root@docker--1 java]# docker stop heuristic_carson
heuristic_carson
[root@docker--1 java]# docker rm heuristic_carson
heuristic_carson
[root@docker--1 java]# docker ps --all
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
48fd8551ec83 mysql:5.7.44 "docker-entrypoint.s…" 2 hours ago Up 2 hours 0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp flamboyant_nash
d3a039010bf1 java:v0 "/bin/bash" 5 hours ago Up 5 hours 0.0.0.0:8080->8080/tcp, :::8080->8080/tcp quirky_bell
7c7f8bbb4ae7 nginx:latest "/docker-entrypoint.…" 6 hours ago Up 6 hours 0.0.0.0:80->80/tcp, :::80->80/tcp thirsty_babbage
[root@docker--1 java]# vim Dockerfile
[root@docker--1 java]# vim start.sh
[root@docker--1 java]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
java v1 8738b8a36bf9 33 minutes ago 591MB
java v0 cf1a38ea2001 5 hours ago 774MB
nginx latest 5ef79149e0ec 2 weeks ago 188MB
mysql 5.7.44 5107333e08a8 8 months ago 501MB
centos latest 5d0da3dc9764 2 years ago 231MB
[root@docker--1 java]# docker ps --all
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
48fd8551ec83 mysql:5.7.44 "docker-entrypoint.s…" 2 hours ago Up 2 hours 0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp flamboyant_nash
d3a039010bf1 java:v0 "/bin/bash" 5 hours ago Up 5 hours 0.0.0.0:8080->8080/tcp, :::8080->8080/tcp quirky_bell
7c7f8bbb4ae7 nginx:latest "/docker-entrypoint.…" 6 hours ago Up 6 hours 0.0.0.0:80->80/tcp, :::80->80/tcp thirsty_babbage
[root@docker--1 java]# docker rmi java:v1
Untagged: java:v1
Deleted: sha256:8738b8a36bf97b7066911888fcc6ccfde793b4f42892be3fe770551daf8365c4
[root@docker--1 java]# docker build -t java:v1 .
[+] Building 0.6s (11/11) FINISHED docker:default=> [internal] load build definition from Dockerfile 0.0s=> => transferring dockerfile: 309B 0.0s=> [internal] load metadata for docker.io/library/centos:latest 0.0s=> [internal] load .dockerignore 0.0s=> => transferring context: 2B 0.0s=> [1/7] FROM docker.io/library/centos:latest 0.0s=> [internal] load build context 0.0s=> => transferring context: 25.93kB 0.0s=> CACHED [2/7] ADD application.properties /application.properties 0.0s=> CACHED [3/7] ADD jdk /usr/local/jdk/ 0.0s=> CACHED [4/7] ADD Project_ExamSystem-V1.0.0.war /Project_ExamSystem-V1.0.0. 0.0s=> [5/7] ADD start.sh /start.sh 0.0s=> [6/7] RUN chmod -v +x /start.sh 0.4s=> exporting to image 0.0s=> => exporting layers 0.0s=> => writing image sha256:cbe450fc552275f01d345fcbb348099cced02d0e5d00ae4813 0.0s=> => naming to docker.io/library/java:v1 0.0s
[root@docker--1 java]# docker run -itd -p8081:8080 java:v1
5fc4bd6c574f58aee7c7ad560e8f8189b94324369c54c0e11adb2b16e0921058
[root@docker--1 java]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
5fc4bd6c574f java:v1 "/start.sh /bin/bash" 12 seconds ago Up 11 seconds 0.0.0.0:8081->8080/tcp, :::8081->8080/tcp kind_easley
48fd8551ec83 mysql:5.7.44 "docker-entrypoint.s…" 2 hours ago Up 2 hours 0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp flamboyant_nash
d3a039010bf1 java:v0 "/bin/bash" 5 hours ago Up 5 hours 0.0.0.0:8080->8080/tcp, :::8080->8080/tcp quirky_bell
7c7f8bbb4ae7 nginx:latest "/docker-entrypoint.…" 6 hours ago Up 6 hours 0.0.0.0:80->80/tcp, :::80->80/tcp thirsty_babbage
[root@docker--1 java]# 相关文章:
部署project_exam_system项目——及容器的编排
(一)安装docker、编辑daemon.json文件、安装docker-compose编排容器、启动docker 1.环境准备 [rootdocker--1 ~]# rz -Erz waiting to receive.[rootdocker--1 ~]# lsanaconda-ks.cfg docker.sh[rootdocker--1 ~]# source docker.sh [rootdocker--1 ~…...
网络工程师学习笔记——无线通信网
移动通信 从1G到3G都是针对语音通话设计的,只有4G才可以与Internet衔接 1978年美国贝尔实验室开发了高级移动电话系统(AMPS),可以随时随地的进行通信,采用蜂窝技术解决了公用通信系统所面临的大容量要求和…...
Vue(十三) 路由、路由嵌套、query、param传参、propos、replace属性。编程式路由导航,特有的生命周期函数,路由守卫
文章目录 路由1. 基本使用2. 多级(嵌套)路由3. 路由query传参4. 命名路由5. 路由param传参6. propos属性7. replace属性8. 编程式路由导航9. 缓存路由组件10. actived,deactived生命周期函数11. 路由守卫1、全局路由2、独享路由3、组件内路由守卫 12. 路由器工作的两…...
ArgoUML与StarUML的安装
ArgoUML与StarUML的安装 说明: 首次发表日期:2024-09-07ArgoUML 官网: https://argouml-tigris-org.github.io/tigris/argouml/StarUML 官网: https://staruml.io/ ArgoUML 以下内容基于: https://blog.csdn.net/h…...
828华为云征文|华为云服务器Flexus X搭建悟空crm管理系统——助力企业云上管理(解决APP Referer校验失败问题)
1、为什么我们企业会选择Flexus云服务器X实例来部署自己的CRM管理系统? 因为基于华为云Flexus X实例搭建CRM管理平台,可以从容面对企业内部瞬息万变的业务压力变化 2、华为云服务器Flexus X方案及优势: 灵活伸缩 搭配弹性伸缩服务AS及负载均…...
计算机毕业设计选题推荐-健康健身追踪系统-运动健身系统-Java/Python项目实战
✨作者主页:IT毕设梦工厂✨ 个人简介:曾从事计算机专业培训教学,擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Py…...
FPGA开发:初识FPGA × 开发环境
FPGA是什么? FPGA的全称是现场可编程门阵列(Field Programmable Gate Array),一种以数字电路为主的集成芯片,属于可编程逻辑器件PLD的一种。简单来说,就是能用代码编程,直接修改FPGA芯片中数字…...
电脑驱动分类
电脑驱动程序(驱动程序)是操作系统与硬件设备之间的桥梁,用于使操作系统能够识别并与硬件设备进行通信。以下是常见的驱动分类: 1. 设备驱动程序 显示驱动程序:控制显卡和显示器的显示功能,负责图形渲染和…...
理解C++全局对象析构顺序与 IPC 资源管理:避免 coredump
文章目录 0. 概述1. 问题背景2. 问题分析3. 解决方案:手动释放资源4. 深入剖析:为什么手动调用 reset() 有效?5. 延伸思考:如何避免全局对象带来的问题?6. 总结 0. 概述 在编写 C 程序时,使用全局或静态对…...
云计算之大数据(下)
目录 一、Hologres 1.1 产品定义 1.2 产品架构 1.3 Hologres基本概念 1.4 最佳实践 - Hologres分区表 1.5 最佳实践 - 分区字段设置 1.6 最佳实践 - 设置字段类型 1.7 最佳实践 - 存储属性设置 1.8 最佳实践 - 分布键设置 1.9 最佳实践 - 聚簇键设置 1.10 最佳实践 -…...
硬件工程师笔试面试知识器件篇——二极管
目录 4、二极管 4.1、基础 二极管原理图 二极管实物图 4.1.1、基本特性 4.1.2、常见类型 4.1.3、工作原理 4.1.4、应用领域 4.2、相关问题 4.2.1、二极管的PN结是如何形成的? 4.2.2、发光二极管(LED)的工作原理是什么? 4.2.3、在电子电路中,二极管通常如何应用?…...
操作系统安全保护
操作系统安全概述 概念:满足安全策略要求,具有响应安全机制及安全功符合特定安全标准,在一定约束条件下 能抵御常见网络安全威胁,保障自身安全运行及资源安全 安全等级:根据安全功能和安全保障要求分为 用户自主保护…...
STM32硬件篇:W25Q64
W25Q64简介 W25Qxx系列是一种低成本、小型化、使用简单(使用SPI通信协议)的非易失性(掉电不丢失)存储器,常用于数据存储、字库存储、固件程序存储等场景。 【注意】W25Qxx芯片只支持SPI的模式0和模式3。 存储介质&am…...
uni-app 获取当前位置的经纬度以及地址信息
文章目录 uni.getLocation(objc)获取经纬度和地址调试结果问题 uni-app 获取当前位置的经纬度以及地址信息 uni.getLocation(objc) uni-app官方文档定位API: uni.getLocation(OBJECT) uni.getLocation({type: wgs84,success: function (res) {console.log(当前位置的经度&…...
【CSS】尺寸单位
在 CSS 中,常见的尺寸单位有以下几种: 像素(px): 这是最常用的绝对单位。例如 width: 200px; 表示宽度为 200 像素。像素是固定的尺寸,不会随着屏幕分辨率或设备的不同而变化。 备注: 在不同的…...
Agent(智能体)和 MetaGPT,一句话实现整个需求应用代码
前面 2 篇文章,我们使用文生文、文生图和文生音频三个大模型共同实现了图文并茂的儿童绘本故事和绘本故事音频需求: 第一篇 根据主题生成儿童绘本故事:GLM-4-Flash 大模型 API 免费了,手把手构建“儿童绘本”应用实战(…...
[数据结构] 哈希结构的哈希冲突解决哈希冲突
标题:[C] 哈希结构的哈希冲突 && 解决哈希冲突 水墨不写bug 目录 一、引言 1.哈希 2.哈希冲突 3.哈希函数 二、解决哈希冲突 1.闭散列 I,线性探测 II,二次探测 2.开散列 正文开始: 一、引言 哈希表是一种非常实用而…...
Wimdows使用Appium IOS自动化
启动appium服务器: appium -a 127.0.0.1 -p 4724 配置 { "platformName": "iOS", "appium:platformVersion": "16.5.1", "appium:deviceName": "(★StatTrak™) |午夜黑(崭新出厂&#…...
C语言深度剖析--不定期更新的第四弹
哈哈哈哈哈哈,今天一天两更! void关键字 void关键字不能用来定义变量,原因是void本身就被编译器解释为空类型,编译器强制地不允许定义变量 定义变量的本质是:开辟空间 而void 作为空类型,理论上不应该开…...
【手撕数据结构】八大排序神功(上)
目录 冒泡排序【有点拉胯】动图演示:思路解析单趟算法图解代码详解性能优化复杂度分析 直接插入排序【还阔以】动图演示思路解析代码分析与讲解复杂度分析 希尔排序【有点强】动图演示思路讲解排序过程总览代码分析讲解复杂度分析 堆排序【太有石粒啦】动图演示堆的概念与结构向…...
进程地址空间(比特课总结)
一、进程地址空间 1. 环境变量 1 )⽤户级环境变量与系统级环境变量 全局属性:环境变量具有全局属性,会被⼦进程继承。例如当bash启动⼦进程时,环 境变量会⾃动传递给⼦进程。 本地变量限制:本地变量只在当前进程(ba…...
云启出海,智联未来|阿里云网络「企业出海」系列客户沙龙上海站圆满落地
借阿里云中企出海大会的东风,以**「云启出海,智联未来|打造安全可靠的出海云网络引擎」为主题的阿里云企业出海客户沙龙云网络&安全专场于5.28日下午在上海顺利举办,现场吸引了来自携程、小红书、米哈游、哔哩哔哩、波克城市、…...
在HarmonyOS ArkTS ArkUI-X 5.0及以上版本中,手势开发全攻略:
在 HarmonyOS 应用开发中,手势交互是连接用户与设备的核心纽带。ArkTS 框架提供了丰富的手势处理能力,既支持点击、长按、拖拽等基础单一手势的精细控制,也能通过多种绑定策略解决父子组件的手势竞争问题。本文将结合官方开发文档,…...
《Playwright:微软的自动化测试工具详解》
Playwright 简介:声明内容来自网络,将内容拼接整理出来的文档 Playwright 是微软开发的自动化测试工具,支持 Chrome、Firefox、Safari 等主流浏览器,提供多语言 API(Python、JavaScript、Java、.NET)。它的特点包括&a…...
sqlserver 根据指定字符 解析拼接字符串
DECLARE LotNo NVARCHAR(50)A,B,C DECLARE xml XML ( SELECT <x> REPLACE(LotNo, ,, </x><x>) </x> ) DECLARE ErrorCode NVARCHAR(50) -- 提取 XML 中的值 SELECT value x.value(., VARCHAR(MAX))…...
MySQL 8.0 OCP 英文题库解析(十三)
Oracle 为庆祝 MySQL 30 周年,截止到 2025.07.31 之前。所有人均可以免费考取原价245美元的MySQL OCP 认证。 从今天开始,将英文题库免费公布出来,并进行解析,帮助大家在一个月之内轻松通过OCP认证。 本期公布试题111~120 试题1…...
什么?连接服务器也能可视化显示界面?:基于X11 Forwarding + CentOS + MobaXterm实战指南
文章目录 什么是X11?环境准备实战步骤1️⃣ 服务器端配置(CentOS)2️⃣ 客户端配置(MobaXterm)3️⃣ 验证X11 Forwarding4️⃣ 运行自定义GUI程序(Python示例)5️⃣ 成功效果CDN 基础概念1. 定义2. 组成部分 (二)CDN 加速原理1. 请求路由2. 内容缓存3. 内容更新 (三)CDN 落地实践1. 选择 CDN 服务商2. 配置 CDN3. 集成到 Web 架构 …...
在鸿蒙HarmonyOS 5中使用DevEco Studio实现企业微信功能
1. 开发环境准备 安装DevEco Studio 3.1: 从华为开发者官网下载最新版DevEco Studio安装HarmonyOS 5.0 SDK 项目配置: // module.json5 {"module": {"requestPermissions": [{"name": "ohos.permis…...
CVPR2025重磅突破:AnomalyAny框架实现单样本生成逼真异常数据,破解视觉检测瓶颈!
本文介绍了一种名为AnomalyAny的创新框架,该方法利用Stable Diffusion的强大生成能力,仅需单个正常样本和文本描述,即可生成逼真且多样化的异常样本,有效解决了视觉异常检测中异常样本稀缺的难题,为工业质检、医疗影像…...
