docker+dockercompose基础操作命令

docker基础操作命令

  • 注意:docker部署时,这是dockerfile里面expose:xxx表示向外暴露容器的xxx端口,这和你docker run -p 端口1:xxx是相同的,后一个表示容器暴露的端口,保持一致,前一个表示主机(如果是在服务器上就是服务器的ip,不需要配置nginx了),就可直接ip:xxx端口访问。

  • docker 的基本命令和注意事项: 镜像 ----(运行)— > 容器

    ​ docker images – 查看所有镜像

    ​ docker ps – a查看所有运行中的容器

    ​ docker ps -a – 查看所有容器,包括停止的

    ​ docker login – 登录dockerhub 需要用户密码

    ​ docker logout – 退出登录,断开连接

    ​ docker tag 旧镜像名:旧tag 新标签名:新tag --相当于重命名,但是不会删除原来的,docker没有类似rename的命令

    ​ docker rmi 镜像名 – 删除镜像

    ​ docker镜像/仓库的命名规范: dockerhub用户名/容器名:标签

    ​ 实例: myregistry.com/myapp:1.0:使用私有镜像仓库 myregistry.com 中的 myapp 镜像的 1.0 版本。

​ docker pull luoxiaopi/chatgpt:latest – 拉取镜像

​ docker run -d -p 8080:80 --name mycontainer nginx

  • -d 表示在后台运行容器(即以守护进程方式运行)。

  • -p 8080:80 表示将容器的 80 端口映射到宿主机的 8080 端口。一般dockerfile代码文件会用export:xxx端口,这里是80端口,8080表示服务器的端口。

  • --name mycontainer 表示为容器指定一个名称为 “mycontainer”。

  • nginx 是要运行的镜像名称。
  • 基本命令
    1. docker pull <镜像名称>:从镜像仓库中拉取指定的镜像到本地系统。
    2. docker images:列出本地系统中已经下载的 Docker 镜像。
    3. docker run <选项> <镜像名称>:使用指定的镜像创建并运行一个容器。
    4. docker ps:列出当前正在运行的容器。
    5. docker ps -a:列出所有的容器,包括正在运行的和已经停止的。
    6. docker stop <容器ID或名称>:停止指定的容器。
    7. docker start <容器ID或名称>:启动已经停止的容器。
    8. docker rm <容器ID或名称>:删除指定的容器。
    9. docker rmi <镜像ID或名称>:删除指定的镜像。
    10. docker exec -it <容器ID或名称> <命令>:在运行的容器中执行指定的命令。
    11. docker logs <容器ID或名称>:查看容器的日志输出。
    12. docker inspect <容器ID或名称>:显示容器的详细信息,包括配置、网络设置等。
    13. docker build <路径>:在指定路径下的 Dockerfile 文件中构建一个镜像。
    14. docker build -t my-docker-image:latest .
      • -t, --tag list: 为构建的镜像指定一个标签。可以使用 <name>:<tag> 的格式,比如 my-docker-image:latest
      • --file, -f: 指定要使用的 Dockerfile 的文件名(默认为 ./Dockerfile)。
      • --build-arg list: 设置构建时的自定义参数。这些参数可以在 Dockerfile 中使用 ARG 指令来引用。
      • --pull: 在构建之前尝试拉取最新的基础镜像。
      • --no-cache: 在构建过程中不使用缓存,强制重新构建镜像。
      • . 表示当前文件夹
  • 一个docker例子:
  • docker run -d -p 80:3000
    -e OPENAI_API_KEY=“你的api-key”
    -e CODE=“runpiboss”
    -e BASE_URL=“https://api.chatanywhere.com.cn”
    runpiboss_chat

docker-compose

下载docker-compose

新版本的docker可能已经自带了docker-compose,可以先执行docker-compose --version,查看是否有docker-compose

// 第一步:打开终端,并使用以下命令下载最新版本的Docker Compose二进制文件:
// -o 表示下载存放位置,-L表示重定向的位置
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

// 第二步:授权Docker Compose二进制文件的执行权限:x表示exe的执行权限
sudo chmod +x /usr/local/bin/docker-compose

// 第三步:验证安装是否成功。运行以下命令检查Docker Compose的版本:
docker-compose --version

// 删除docker-compose
sudo rm /usr/local/bin/docker-compose
  • docker-compose核心概念:

    • 一个文件:docker-compose.yml

    • 两个要素:

      • 服务(service)就是一个个应用容器实例,比如mysql容器,订单微服务,nginx,库存微服务等等。
      • 工程(project)由一组关联的应用容器组成的一个完整的业务单元,在docker-compose.yml文件中定义。
      • 工程=多个服务(容器应用实例)
  • docker-compose常用命令:

    • docker-compose -h # 查看帮助
    • docker-compose up # 启动所有的docker-compose服务
    • docker-compose up -d # 启动所有的docker-compose服务并在后台运行
    • docker-compose down # 停止并删除容器、网络、卷、镜像。
    • docker-compose exec yml里面的服务id # 进入容器实例的内部 docker-compose exec docker-compose.yml文件中写的服务id /bin/bash
    • docker-compose top # 展示当前docker-compose编排过的容器进程
    • docker-compose ps # 展示当前docker-compose编排过的运行的所有容器
    • docker-compose logs yml里面的服务id # 查看容器输出日志
    • docker-compose config # 检查配置
    • docker-compose config -q # 检查配置,有问题才有输出
    • docker-compose restart # 重启服务
    • docker-compose start # 启动服务
    • docker-compose stop # 停止服务
  • 7
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值