在安装Docker之前,建议先更新Ubuntu系统的软件包列表,以确保安装的是最新版本:
sudo apt update
sudo apt upgrade
安装Docker所需的依赖包:
sudo apt install apt-transport-https ca-certificates curl software-properties-common
使用以下命令添加Docker的官方GPG密钥:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
将Docker的稳定版仓库添加到APT源:
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
更新软件包列表并安装Docker引擎:
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io
安装完成后,通过运行以下命令验证Docker是否正确安装:
sudo docker run hello-world
启动Docker服务:
bash
sudo systemctl start docker
设置Docker开机自启:
bash
sudo systemctl enable docker
停止Docker服务:
bash
sudo systemctl stop docker
从Docker Hub拉取一个镜像(例如Ubuntu):
bash
sudo docker pull ubuntu
使用拉取的镜像运行一个容器:
bash
sudo docker run -it ubuntu /bin/bash
其中: -i
:交互式操作 -t
:分配一个伪终端
查看当前正在运行的容器:
bash
sudo docker ps
查看所有容器(包括已停止的):
bash
sudo docker ps -a
停止一个运行中的容器:
bash
sudo docker stop <容器ID或名称>
删除一个容器:
bash
sudo docker rm <容器ID或名称>
删除一个本地镜像:
bash
sudo docker rmi <镜像ID或名称>
使用Dockerfile构建自定义镜像。首先创建一个Dockerfile:
# 使用基础镜像
FROM ubuntu:latest
# 更新软件包并安装所需工具
RUN apt update && apt install -y nginx
# 暴露端口
EXPOSE 80
# 启动命令
CMD ["nginx", "-g", "daemon off;"]
构建镜像:
sudo docker build -t my-nginx .
运行自定义镜像并映射端口:
sudo docker run -d -p 8080:80 --name my-nginx-container my-nginx
其中:
-d
:后台运行-p
:端口映射(主机端口:容器端口)将主机目录挂载到容器中,实现数据持久化:
sudo docker run -v /host/path:/container/path -it ubuntu /bin/bash
查看容器的日志输出:
sudo docker logs <容器ID或名称>
使用以下命令进入一个正在运行的容器:
sudo docker exec -it <容器ID或名称> /bin/bash
如果遇到权限错误,可以将当前用户添加到 docker
组:
bash
sudo usermod -aG docker $USER
然后重新登录或重启系统生效。
清理所有停止的容器、未使用的镜像和网络:
bash
sudo docker system prune -a
如果需要加速镜像拉取,可以修改Docker的镜像源。编辑 /etc/docker/daemon.json
文件(如不存在则创建):
json
{
"registry-mirrors": ["https://mirror.ccs.tencentyun.com"]
}
重启Docker服务使配置生效:
bash
sudo systemctl restart docker