Hero Image
Docker的使用

Docker 使用 1. Docker基础概念 Image:Image是将运行的程序以及依赖等文件打包在一起。是程序的运行环境。 Container:Container是Image运行后形成的进程,一个Image可以创建1个或多个Container,每个Container之间是相互隔离的。 2. Docker image下载 下载指定平台的docker image sudo docker pull --platform linux/amd64 openjdk:21-jdk-slim` 当一个笔记本上的容器存在多个平台下的版本时,需要使用tag来进行区分 # 拉取 amd64 版本 docker pull --platform linux/amd64 mysql:latest docker tag mysql:latest mysql:amd64 # 拉取 arm 版本 docker pull --platform linux/arm64 mysql:latest docker tag mysql:latest mysql:arm 3. Docker 指令 启动 `sudo docker run -it --name myapp-container -p 8080:8080 myapp:latest /bin/bash` 开机自启动 打开开机自启动 sudo docker update --restart=always 容器名字或ID 关闭开机自启动 sudo docker update --restart=no 容器名字或ID 指定最大重启次数 sudo docker update --restart=on-failure:3 容器名或ID 查询容器自启动状态 sudo docker inspect -f "{{ .HostConfig.RestartPolicy.Name }}" 容器名或ID 4. Docker compose version: "3.8" services: db: image: mysql:latest restart: always environment: MYSQL_ROOT_PASSWORD: ****** # 设置root用户的密码 MYSQL_USER: userName # 创建一个新用户 MYSQL_PASSWORD: userName # 用户的密码 ports: - "3306:3306" # 映射MySQL端口到宿主机的3306端口 5. Docker 部署 本地保存Docker sudo docker save -o java21_x64.tar java21_x64:latest 上传文件到服务器 scp **** 服务器端加载docker `sudo docker load -i java21_x64.tar`