Docker安装记录
准备工作
安装Docker前需要确认电脑已经安装了WSL
下载并安装
官网链接:docker官网
安装后重启电脑,然后在Power Shell里输入以下命令来验证Docker是否成功安装,如果成功安装会显示Docker的版本
|
|
接下来,注册一个Docker Hub账号并登录
然后可以运行一个简单的Docker容器来验证是否成功安装
|
|
如果从服务器成功拉取了hello-world
镜像并运行了容器,会显示Hello from Docker!
,说明Docker 安装和运行正常
配置镜像加速(可选)
国内访问Docker Hub的速度可能较慢,可以选择配置一个国内的镜像
Settings→Docker Engine
配置国内源后的代码如下:
|
|
目前网上的教程都是给的这几个源,但是我实测是连不上的,还是需要用魔法连到docker官方的源去拉取镜像
Docker常用命令
以下是一些常用的 Docker 命令,涵盖了镜像管理、容器管理、网络管理、数据卷管理等方面:
镜像管理
-
拉取镜像
1
docker pull <image-name>:<tag>
示例:
docker pull ubuntu:latest
-
列出本地镜像
1
docker images
-
删除本地镜像
1
docker rmi <image-id>
示例:
docker rmi ubuntu:latest
-
构建镜像
1
docker build -t <image-name>:<tag> <path-to-dockerfile>
示例:
docker build -t my-app:1.0 .
-
推送镜像到仓库
1
docker push <image-name>:<tag>
示例:
docker push my-app:1.0
-
查看镜像历史
1
docker history <image-name>
容器管理
-
运行容器
1
docker run <options> <image-name>
示例:
docker run -it ubuntu bash
-
列出正在运行的容器
1
docker ps
-
列出所有容器(包括已停止的)
1
docker ps -a
-
启动已停止的容器
1
docker start <container-id>
-
停止容器
1
docker stop <container-id>
-
删除容器
1
docker rm <container-id>
-
进入运行中的容器
1
docker exec -it <container-id> <command>
示例:
docker exec -it my-container bash
-
查看容器日志
1
docker logs <container-id>
-
查看容器详细信息
1
docker inspect <container-id>
-
复制文件到容器
1
docker cp <local-path> <container-id>:<container-path>
示例:
docker cp my-file.txt my-container:/app/
-
从容器复制文件到主机
1
docker cp <container-id>:<container-path> <local-path>
示例:
docker cp my-container:/app/my-file.txt ./
网络管理
-
列出网络
1
docker network ls
-
创建网络
1
docker network create <network-name>
-
连接容器到网络
1
docker network connect <network-name> <container-id>
-
断开容器与网络的连接
1
docker network disconnect <network-name> <container-id>
-
删除网络
1
docker network rm <network-name>
数据卷管理
-
列出数据卷
1
docker volume ls
-
创建数据卷
1
docker volume create <volume-name>
-
删除数据卷
1
docker volume rm <volume-name>
-
挂载数据卷到容器
1
docker run -v <volume-name>:<container-path> <image-name>
示例:
docker run -v my-volume:/data ubuntu
-
查看数据卷详细信息
1
docker volume inspect <volume-name>
Docker Compose
-
启动服务
1
docker-compose up
-
后台启动服务
1
docker-compose up -d
-
停止服务
1
docker-compose down
-
查看服务状态
1
docker-compose ps
-
查看服务日志
1
docker-compose logs
其他常用命令
-
查看 Docker 版本
1
docker --version
-
查看 Docker 系统信息
1
docker info
-
清理未使用的镜像、容器、网络和数据卷
1
docker system prune
-
强制清理所有未使用的资源
1
docker system prune -a
-
登录 Docker Hub
1
docker login
-
登出 Docker Hub
1
docker logout
常用选项
• -d
:后台运行容器(detached mode)。
• -it
:以交互模式运行容器(interactive + TTY)。
• -p
:映射端口(<host-port>:<container-port>
)。
• -v
:挂载数据卷(<host-path>:<container-path>
)。
• --name
:为容器指定名称。
• --rm
:容器退出后自动删除。
示例
-
运行一个 Nginx 容器并映射端口:
1
docker run -d -p 8080:80 --name my-nginx nginx
-
使用 Docker Compose 启动一个多容器应用:
1
docker-compose up -d
-
清理未使用的资源:
1
docker system prune
这些命令涵盖了 Docker 的常见操作场景。根据你的需求,可以灵活组合使用这些命令来管理 Docker 容器和镜像。
Ubuntu环境安装Docker
安装Docker
|
|
添加GPG Key
|
|
添加apt源
|
|
添加后更新源
|
|
安装docker
|
|
安装docker命令补全工具
|
|
(可选)允许非Root用户执行docker命令
当我们安装好了Docker之后,有两种方式来执行docker 命令
- 在docker命令前加上sudo, 比如:sudo docker ps
- sudo -i 切换至root用户,再执行docker 命令
添加docker用户组
|
|
将当前用户添加到用户组
|
|
使权限生效
|
|
测试
|
|
我们需要编辑 ~/.bashrc文件,并在文件末尾增加如下一行,如果不在.bashrc文件中增加下面这一行命令
|
|
最后更新.bashrc文件
|
|
Docker无法拉取镜像问题
1️⃣方法一:最简单的解决方案:梯子开全局模式(TUN模式)
2️⃣方法二:也可以到镜像站点下载镜像:https://docker.aityp.com/
下载镜像后改tag使用
3️⃣方法三:另外,我们可以在docker daemon 配置文件中增加国的可用的 docker hub mirror ,找到你的daemon.json 文件,通常在 /etc/docker/daemon.json 这个位置
在daemon.json 中增加
|
|
目前可用的国内docker hub 镜像,https://docker.m.daocloud.io。