docker使用教程
安装docker
-
更新系统:首先,确保你的系统是最新的。打开终端,并执行以下命令:
sudo apt update sudo apt upgrade
-
安装Docker依赖:接下来,安装Docker所需的一些依赖包。在终端中执行以下命令:
sudo apt install apt-transport-https ca-certificates curl software-properties-common
-
添加Docker官方GPG密钥:为了验证下载的软件包的完整性,需要添加Docker官方的GPG密钥。在终端中执行以下命令:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
-
添加Docker软件源:添加Docker的软件源,以便系统能够从官方仓库中下载Docker软件包。在终端中执行以下命令:
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
-
更新软件包列表:更新软件包列表以获取最新的可用软件包。在终端中执行以下命令:
sudo apt update
-
安装Docker引擎:现在,可以安装Docker引擎了。在终端中执行以下命令:
sudo apt install docker-ce docker-ce-cli containerd.io
-
启动Docker服务:安装完成后,Docker服务将自动启动。如果没有启动,可以在终端中执行以下命令手动启动:
sudo systemctl start docker
-
验证安装:最后,验证Docker是否成功安装。在终端中执行以下命令:
sudo docker run hello-world
安装Docker Compose
Docker是一个开源的容器化平台,它允许开发人员将应用程序以及其依赖项打包成一个独立的容器,使其能够在任何环境中运行,无论是开发环境、测试环境还是生产环境。Docker在容器内部提供了隔离性和轻量级的进程,使得应用程序能够以一致的方式运行,无论在哪个操作系统上。
而Docker Compose则是一个用于定义和管理多个Docker容器的工具。它使用YAML文件(称为docker-compose.yml)来定义多个容器之间的关系和配置。通过Docker Compose,你可以轻松地启动、停止、构建和删除多个容器,使得在开发和测试环境中部署和管理多个容器变得更加简单。
Docker和Docker Compose之间的联系在于,它们都是用于容器化应用程序的工具。Docker提供了容器化的基础设施,允许你将应用程序及其依赖项打包为一个独立的容器;而Docker Compose则建立在Docker之上,允许你定义和管理多个容器,使它们能够协同工作。通过Docker Compose,你可以将多个容器作为一个整体来管理和部署,确保容器之间的依赖关系和配置正确。
总结起来,Docker是一个容器化平台,用于构建和管理容器;而Docker Compose是一个工具,用于定义和管理多个容器。它们在容器化应用程序方面紧密相关,可以一起使用来简化应用程序的开发、部署和管理过程。
-
下载Docker Compose二进制文件:
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
-
添加执行权限:
sudo chmod +x /usr/local/bin/docker-compose
-
验证安装:
docker-compose --version
docker常用命令
-
参数示例:
docker run -d -p 8080:80 nginx
其中-d表示在后台运行,-p表示将主机的8080端口映射到容器的80端口。
-
参数示例:
docker pull ubuntu:latest
其中ubuntu是镜像的名称,latest是标签。
-
参数示例:
docker build -t myimage
.,其中-t指定镜像的名称和标签,.表示在当前目录下查找 Dockerfile。
-
参数示例:
docker images -a
,其中-a表示显示所有镜像,包括中间层镜像。
-
参数示例:
docker ps -a
,其中-a表示显示所有容器,包括停止的容器。
-
参数示例:
docker stop container_id
其中container_id是容器的ID或名称。
-
参数示例:
docker start container_id
其中container_id是容器的ID或名称。
-
参数示例:
docker restart container_id
其中container_id是容器的ID或名称。
-
参数示例:
docker rm container_id
其中container_id是容器的ID或名称。
-
参数示例:
``` docker rmi image_id ``` 其中image_id是镜像的ID或名称。
-
参数示例:
``` docker exec -it container_id bash ``` 其中-it表示进入交互终端,bash表示在容器中执行的命令。
-
参数示例:
``` docker cp local_file_path container_id:/container_path ``` 其中local_file_path是本地文件路径,container_id是容器的ID,/container_path是容器中目标路径。
-
参数示例:
``` docker logs container_id ``` 其中container_id是容器的ID或名称。
-
参数示例:
``` docker inspect container_id ``` 其中container_id是容器的ID或名称。
-
docker network: 管理 Docker 网络。
参数示例:
docker network ls
显示所有网络。
-
docker exec -it ID /bin/sh:进入某个容器内部
参数示例:
docker exec -it 容器ID /bin/sh
Docker Compose常用命令
安装Docker Compose
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 up -d
其中-d表示在后台启动。
-
参数示例:
docker-compose down -v
其中-v表示连同所有相关的容器、网络和卷一起删除。
-
参数示例:
docker-compose build service_name
其中service_name是Compose文件中定义的服务的名称。
-
参数示例:
docker-compose start service_name
其中service_name是Compose文件中定义的服务的名称。
-
参数示例:
docker-compose stop service_name
其中service_name是Compose文件中定义的服务的名称。
-
参数示例:
docker-compose restart service_name
其中service_name是Compose文件中定义的服务的名称。
-
参数示例:
docker-compose ps
无需附加参数。
-
docker-compose logs: 查看Compose文件中定义的服务的日志输出。
-
参数示例:
docker-compose logs service_name
其中service_name是Compose文件中定义的服务的名称。
-
使用docker搭建自己的电报机器人
首先安装docker和docker-compose,详见1
拉取最新 Chibi Docker 镜像:
docker pull pysergio/chibi:latest
使用必要的环境变量运行 Docker 容器:
docker run -d
-e TELEGRAM_BOT_TOKEN=<your_telegram_token>
-e OPENAI_API_KEY=<your_chatgpt_api_key>
--name chibi
pysergio/chibi:latest
-
docker run
: 这个命令告诉 Docker 创建并运行一个新容器。 -
-d
: 这个选项是指示 Docker 在后台(分离模式)运行容器。容器将在后台运行而不会阻塞终端窗口。 -
-e TELEGRAM_BOT_TOKEN=<your_telegram_token>
: 这个选项用来设置一个名为 “TELEGRAM_BOT_TOKEN” 的环境变量,并将其值设置为 “<your_telegram_token>”。环境变量是在容器运行时可用的变量,用于在容器内部配置应用程序。 -
-e OPENAI_API_KEY=<your_chatgpt_api_key>
: 这个选项用来设置一个名为 “OPENAI_API_KEY” 的环境变量,并将其值设置为 “<your_chatgpt_api_key>”。同样,这将在容器内部设置一个用于认证 OpenAI ChatGPT API 的 API 密钥。 -
--name chibi
: 这个选项指定容器的名字,将其命名为 “chibi”。 -
pysergio/chibi:latest
: 这个是容器的映像名称。Docker 将基于这个映像来创建和运行容器。在这个例子中,使用的是名为 “chibi” 的映像的最新版本。
将<your_telegram_token>、<your_chatgpt_api_key>替换为适当的值。
使用docker将chatgpt接入微信
首先安装docker和docker-compose,详见1
执行以下命令下载 docker-compose.yml
:
wget https://open-1317903499.cos.ap-guangzhou.myqcloud.com/docker-compose.yml
接着打开文件,修改或添加所需的配置,如 OPEN_AI_API_KEY
和 GROUP_NAME_WHITE_LIST
等必填配置
在 docker-compose.yml 所在目录下执行以下命令启动容器:
sudo docker compose up -d
运行 sudo docker ps 能查看到 NAMES 为 chatgpt-on-wechat
的容器即表示运行成功。
最后运行以下命令可查看容器运行日志,扫描日志中的二维码即可完成登录:
sudo docker logs -f chatgpt-on-wechat