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
是要运行的镜像名称。- 基本命令
docker pull <镜像名称>
:从镜像仓库中拉取指定的镜像到本地系统。docker images
:列出本地系统中已经下载的 Docker 镜像。docker run <选项> <镜像名称>
:使用指定的镜像创建并运行一个容器。docker ps
:列出当前正在运行的容器。docker ps -a
:列出所有的容器,包括正在运行的和已经停止的。docker stop <容器ID或名称>
:停止指定的容器。docker start <容器ID或名称>
:启动已经停止的容器。docker rm <容器ID或名称>
:删除指定的容器。docker rmi <镜像ID或名称>
:删除指定的镜像。docker exec -it <容器ID或名称> <命令>
:在运行的容器中执行指定的命令。docker logs <容器ID或名称>
:查看容器的日志输出。docker inspect <容器ID或名称>
:显示容器的详细信息,包括配置、网络设置等。docker build <路径>
:在指定路径下的 Dockerfile 文件中构建一个镜像。- 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 # 停止服务