ubuntu安装docker
1. Docker
-
定义:Docker 是一个开源的容器化平台,用于构建、运行和管理容器。
-
功能:
-
创建容器镜像(通过 Dockerfile)
-
运行单个容器
-
管理容器生命周期(启动、停止、删除等)
-
管理镜像
-
管理存储卷和网络
-
-
使用场景:适用于单个容器的应用,或者需要手动管理多个容器的场景。
-
镜像与容器的关系
-
镜像(Image):容器的静态模板,包含了应用程序运行所需的所有依赖和文件。镜像是不可变的。
-
容器(Container):镜像的一个运行实例,具有自己的文件系统、进程、网络等,且是动态的。容器从镜像启动,并在运行时保持可变。
-
# 卸载旧版本 sudo apt-get remove docker docker-engine docker.io containerd runc
# 更新包索引 sudo apt update # 安装依赖包 sudo apt install -y ca-certificates curl gnupg lsb-release # 添加阿里云的Docker镜像GPG密钥(使用国内镜像,避免网络问题) curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg # 添加阿里云的Docker镜像仓库 echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu \ $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null # 安装Docker引擎 sudo apt update sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin # 验证安装 sudo docker --version
2.安装Docker Compose V2
Docker Compose
-
定义:Docker Compose 是一个用于定义和运行多容器 Docker 应用程序的工具。
-
功能:
-
使用 YAML 文件(通常为
docker-compose.yml)来配置应用程序的服务、网络和卷。 -
通过一个命令(
docker-compose up)启动多个容器。 -
管理多个容器的生命周期(启动、停止、重建等)。
-
-
使用场景:适用于需要多个容器(如 Web 服务器、数据库、缓存等)协同工作的应用程序。
关系比喻
-
Docker 像是单个集装箱的操作工具,而 Docker Compose 像是管理多个集装箱(可能属于同一艘船)的编排工具。
-
你可以只用 Docker 来运行多个容器,但需要手动管理它们之间的网络、依赖等。而 Docker Compose 通过一个配置文件自动化这个过程。
协作方式
-
你仍然使用 Docker 来构建镜像,但使用 Docker Compose 来定义哪些镜像需要运行,以及它们如何交互。
-
Docker Compose 调用 Docker API 来创建和管理容器,因此它依赖于 Docker 引擎。
# 安装Docker Compose插件(Docker Compose V2) sudo apt update sudo apt install -y docker-compose-plugin # 验证安装 docker compose version
3. Docker(基础工具)
主要功能
-
容器镜像管理
docker build # 从Dockerfile构建镜像 docker pull # 拉取镜像 docker push # 推送镜像 docker images # 查看镜像列表
-
容器生命周期管理
bash
docker run # 运行容器 docker stop # 停止容器 docker rm # 删除容器 docker ps # 查看容器状态
-
网络和存储
docker network # 管理网络 docker volume # 管理存储卷
典型使用示例
# 运行一个Nginx容器 docker run -d --name web -p 80:80 nginx:latest # 运行一个数据库容器 docker run -d --name db -e MYSQL_ROOT_PASSWORD=secret mysql:8.0
4. 配置镜像加速(针对国内用户)
bash
# 创建或编辑Docker配置文件,alyuncs.com是阿里云自己的key
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": [
"https://bwf6zbad.mirror.aliyuncs.com",
"https://docker.mirrors.ustc.edu.cn",
"https://hub-mirror.c.163.com",
"https://mirror.baidubce.com",
"https://docker.xuanyuan.me",
"https://docker.1ms.run"
]
}
EOF
# 重启Docker服务
sudo systemctl daemon-reload
sudo systemctl restart docker
5. Docker 常用命令
查看镜像:
docker images
# 按照格式
docker images --format "table {{.Repository}}\t{{.Tag}}\t{{.ID}}\t{{.Size}}"
| 命令 | 功能 | 示例 |
|---|---|---|
docker run |
启动一个新的容器并运行命令 | docker run -d ubuntu |
docker ps |
列出当前正在运行的容器 | docker ps |
docker ps -a |
列出所有容器(包括已停止的容器) | docker ps -a |
docker build |
使用 Dockerfile 构建镜像 | docker build -t my-image . |
docker images |
列出本地存储的所有镜像 | docker images |
docker pull |
从 Docker 仓库拉取镜像 | docker pull ubuntu |
docker push |
将镜像推送到 Docker 仓库 | docker push my-image |
docker exec |
在运行的容器中执行命令 | docker exec -it container_name bash |
docker sto/p |
停止一个或多个容器 | docker stop container_name |
docker start |
启动已停止的容器 | docker start container_name |
docker restart |
重启一个容器 | docker restart container_name |
docker rm |
删除一个或多个容器 | docker rm container_name |
docker rmi |
删除一个或多个镜像 | docker rmi my-image |
docker logs |
查看容器的日志 | docker logs container_name |
docker inspect |
获取容器或镜像的详细信息 | docker inspect container_name |
==docker exec -it== |
==进入容器的交互式终端== | ==docker exec -it container_name /bin/bash== |
docker network ls |
列出所有 Docker 网络 | docker network ls |
docker volume ls |
列出所有 Docker 卷 | docker volume ls |
docker-compose up |
启动多容器应用(从 docker-compose.yml 文件) |
docker-compose up |
docker-compose down |
停止并删除由 docker-compose 启动的容器、网络等 |
docker-compose down |
docker info |
显示 Docker 系统的详细信息 | docker info |
docker version |
显示 Docker 客户端和守护进程的版本信息 | docker version |
docker stats |
显示容器的实时资源使用情况 | docker stats |
docker login |
登录 Docker 仓库 | docker login |
docker logout |
登出 Docker 仓库 | docker logout |
常用选项说明:
-
-d:后台运行容器,例如docker run -d ubuntu。 -
-it:以交互式终端运行容器,例如docker exec -it container_name bash。 -
-t:为镜像指定标签,例如docker build -t my-image .。
5.1 参看可用版本
docker search <镜像名称>
5.2 重命名镜像
# 列出所有镜像,找到要重命名的镜像 ID docker images # 使用 docker tag 重命名镜像 docker tag efeb4214cfc4 sword2000/ubuntu1604-arm-qt:1.0 # 删除旧的镜像名称 docker rmi sword2000/unbuntu1604-arm-qt:1.0 # 再次列出所有镜像,确认重命名成功 docker images
6. 常用Linux(Ubuntu)命令
查看磁盘容量
df -h
查看端口占用
netstat -tunlp | grep 端口号 其中,参数解释如下: -t 表示仅显示TCP相关选项 -u 表示仅显示UDP相关选项 -n 表示以数字形式显示地址和端口号 -l 表示仅列出处于监听状态的服务 -p 表示显示监听端口的程序名称和进程ID
查看文件列表
# 查看隐藏文件 ls -a
关闭占用端口的进程
kill -9 PID
其中,PID是占用端口的进程ID,可以通过lsof或netstat命令查找到
7. ubuntu安装anaconda
-
下载Anaconda安装脚本
-
安装到固定位置
# 使用 -p 参数指定安装路径 bash Anaconda3-2024.02-1-Linux-x86_64.sh -p /your/custom/path/anaconda3 -b # 参数说明: # -p: 指定安装路径 # -b: 批量模式,无需交互式确认
# 如果希望每次打开终端自动进入 Anaconda 的 base 环境,可执行 conda config --set auto_activate_base true
若出现 conda: command not found,需将 Anaconda 路径加入 ~/.bashrc:
echo 'export PATH="$HOME/anaconda3/bin:$PATH"' >> ~/.bashrc source ~/.bashrc
8. ubuntu 安装git
一般情况ubuntu内置git,如果想clone仓库,需要设置:
git config --global user.name "huang" git config --global user.email "huangzhiyu2004@163.com" #clone时一般不能连接,需要把ubuntu的 # 切换到.ssh cd ~/.ssh # 编辑id_rsa.pub vim id_rsa.pub # 将公钥复制,并添加到github的ssh key中即可
9. ubuntu安装dify
正常情况是:
cd docker cp .env.example .env docker compose up -d
如果上面方法不行,需要重新单独拉取,
1.清除原有镜像
# 停止所有容器
docker compose down
# 清理悬空镜像和缓存
docker system prune -a
# 或者只删除特定损坏的镜像
docker rmi $(docker images | grep "none" | awk '{print $3}')
2. 重新安装
截止今天2026年2月10日:images,可以通过docker拉取下列镜像,修改docker-compose.yaml
IMAGE ID DISK USAGE CONTENT SIZE EXTRA busybox:stable-glib b30d5558be99 6.61MB 2.21MB U langgenius/dify-api:latest c02ea691dd96 3.68GB 847MB U langgenius/dify-plugin-daemon:0.5.3-local 0bf773413570 2.14GB 556MB U langgenius/dify-sandbox:latest 4e65e8a351a2 825MB 189MB U langgenius/dify-web:latest 843c0b7d71b4 565MB 126MB U nginx:1.21 2bcabc23b454 213MB 56.7MB U postgres:latest 1090bc3a8ccf 649MB 168MB U redis:latest c22af04bb576 205MB 55.4MB U semitechnologies/weaviate:latest 0833ece79595 269MB 82.7MB U
根据上面的信息,修改docker-compose.yaml中镜像位置,然后运行:
docker compose up -d
利用vim可以通过/进行搜索,修改镜像成以上内容
3.停止dify和重启
# stop docker compose down # resume docker compose up -d
4. 访问dify
# localhost http://localhost/install
5. 出错,数据库迁移
docker compose run --rm api flask db upgrade
10. vim 命令
1. 模式切换
Vim 有多个模式,最常用的是:
-
正常模式(启动时的默认模式)
-
插入模式(编辑文本)
-
可视模式(选择文本)
-
命令行模式(执行命令)
| 按键 | 作用 |
|---|---|
i |
在光标前进入插入模式 |
I |
在行首进入插入模式 |
a |
在光标后进入插入模式 |
A |
在行尾进入插入模式 |
o |
在当前行下方新开一行并进入插入模式 |
O |
在当前行上方新开一行并进入插入模式 |
Esc |
返回正常模式 |
v |
进入可视模式(按字符选择) |
V |
进入可视行模式(按行选择) |
Ctrl+v |
进入可视块模式(选择矩形区域) |
: |
进入命令行模式 |
2. 移动光标(正常模式下)
| 按键 | 作用 |
|---|---|
h |
左移一个字符 |
j |
下移一行 |
k |
上移一行 |
l |
右移一个字符 |
w |
跳到下一个单词开头 |
b |
跳到当前单词/上一个单词开头 |
e |
跳到当前单词/下一个单词结尾 |
0 |
跳到行首 |
$ |
跳到行尾 |
^ |
跳到行首第一个非空白字符 |
gg |
跳到文件第一行 |
G |
跳到文件最后一行 |
:n |
跳到第 n 行(n 为数字) |
Ctrl+f |
向下翻一页 |
Ctrl+b |
向上翻一页 |
Ctrl+d |
向下翻半页 |
Ctrl+u |
向上翻半页 |
3. 编辑操作
| 按键 | 作用 |
|---|---|
x |
删除光标所在字符 |
dd |
删除当前行 |
dw |
删除从光标到单词结尾 |
d$ |
删除从光标到行尾 |
d0 |
删除从光标到行首 |
yy |
复制当前行(整行) |
yw |
复制从光标到单词结尾 |
p |
在光标后粘贴 |
P |
在光标前粘贴 |
u |
撤销上一次操作 |
Ctrl+r |
重做(反撤销) |
. |
重复上一次修改操作 |
4. 搜索与替换
| 按键 | 作用 |
|---|---|
/pattern |
向下搜索 pattern |
?pattern |
向上搜索 pattern |
n |
重复上一次搜索(同方向) |
N |
重复上一次搜索(反方向) |
:s/old/new |
将当前行第一个 old 替换为 new |
:s/old/new/g |
将当前行所有 old 替换为 new |
:%s/old/new/g |
将整个文件所有 old 替换为 new |
:%s/old/new/gc |
替换前逐个确认 |
5. 保存与退出
| 按键 | 作用 |
|---|---|
:w |
保存文件 |
:w filename |
另存为 filename |
:q |
退出(未修改时) |
:q! |
强制退出,不保存修改 |
:wq 或 :x |
保存并退出 |
ZZ |
保存并退出(正常模式下直接按) |
ZQ |
不保存退出 |
6. 其他实用命令
| 按键 | 作用 |
|---|---|
J |
合并下一行到当前行(在行尾加空格连接) |
>> |
向右缩进当前行 |
<< |
向左缩进当前行 |
= |
自动缩进选中的行(需先进入可视模式选择) |
Ctrl+g |
显示当前文件名和行号 |
:set nu |
显示行号 |
:set nonu |
隐藏行号 |
:help |
打开帮助文档 |
:help command |
查看具体命令的帮助 |
7. 常用组合示例
-
2dd删除 2 行 -
3yy复制 3 行 -
d2w删除 2 个单词 -
c$修改从光标到行尾(删除并进入插入模式) -
r<char>替换当前光标字符为<char>
更多推荐
所有评论(0)