树莓镜像安装
安装Ubuntu 20.04.1 LTS
Docker安装
Docker version 27.4.1
更换Docker镜像源
Docker常用命令
- 设置容器开机启动
systemctl enable docker - 重启Docker守护进程
sudo systemctl restart docker - 拉去镜像
docker pull - 通过docker file构建镜像
docker build - 查看镜像
docker images - 删除镜像
docker rmi -f 容器ID或名称 - 构建容器
docker run - 查看运行中的容器
docker ps - 查看全部容器
docker ps -a - 删除容器
docker rm -f 容器ID或名称 - 启动容器
docker satar 容器ID或名称 - 启动docker中的所有容器
docker start $(docker ps -a -q -f status=exited) - 进入容器内部的命令行
sudo docker exec -it 容器 /bin/bash - 退出容器
exit - 查看docker容器日志
docker logs todo-back
Mysql容器
注意事项
-
mysql要挂载卷
-
防火墙开端口或关闭防火墙
-
用Navicat链接测试
-
手动建库,不要建表,springboot会自动建
- 拉取Mysql8.0
docker pull mysql:8.0 - 启动Mysql容器
docker run -d \ --name mysql \ -v /opt/mysql_data:/usr/project/mysql \ -e MYSQL_ROOT_PASSWORD=123456 \ -e MYSQL_DATABASE=andyjolin \ -e MYSQL_USER=andy \ -e MYSQL_PASSWORD=123456 \ -p 3306:3306 \ mysql:8.0 \ --character-set-server=utf8mb4
-d参数表示容器将在后台运行(即“detached”模式)。--name mysql:这个参数指定了容器的名称为mysql。-v /opt/mysql_data:/usr/project/mysql:这个参数是用来挂载卷的,它将宿主机上的/opt/mysql_data目录挂载到容器内的/usr/project/mysql目录。这通常用于数据持久化,即使得容器内的数据在容器删除后仍然保留。-e MYSQL_ROOT_PASSWORD=123456:这个参数设置了MySQL root用户的密码为123456。环境变量MYSQL_ROOT_PASSWORD是MySQL Docker镜像用来初始化root用户密码的。-e MYSQL_DATABASE=andyjolin:这个参数告诉MySQL Docker镜像在启动时创建一个名为andyjolin的数据库。-e MYSQL_USER=andy:这个参数设置了一个名为andy的MySQL用户。-e MYSQL_PASSWORD=123456:这个参数设置了上面提到的andy用户的密码为123456。-p 3306:3306:这个参数将容器内的3306端口映射到宿主机的3306端口。这样,你就可以通过宿主机的3306端口来访问容器内的MySQL服务了。mysql:8.0:这指定了要运行的Docker镜像的名称和标签。在这个例子中,它指定了使用mysql镜像的8.0版本。--character-set-server=utf8mb4:这是传递给MySQL服务器的一个参数,用于设置服务器的默认字符集为utf8mb4。utf8mb4是utf8的超集,支持更多的Unicode字符,包括一些表情符号。
Java17容器
注意事项
-
代码放在DockerFile文件中,不要有扩展名 -
springboot的jar文件要放在同一目录中 -
docker build最后的 .别忘了
编写DockerFile创建运行镜像 以下是DockerFile
构建镜像 docker build -t springboot:v1.0 .
启动镜像
docker run -d -p 8080:8080 --name todo-back springboot:v1.0
Nginx容器
注意事项
-
启动镜像时要把nginx.conf文件和打包好的html文件拷贝到容器中
拉取Nginx镜像
docker pull nginx
启动容器
docker run --name andyjolin -d -p 8889:8889 -v /usr/project/nginx.conf:/etc/nginx/nginx.conf -v /usr/project/html/html:/etc/nginx/html nginx