Ubuntu系统在线部署Docker(实测最好用)
1 .添加Docker官方仓库
首先,您需要添加Docker官方仓库以获取最新的Docker软件包。在终端中执行以下命令:
sudo apt update
sudo apt install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
2. 安装Docker
随后,更新包列表并安装Docker Community Edition(CE)。执行以下命令完成安装:
sudo apt update
sudo apt install docker-ce
3.安装Docker ce以及相关软件包:
sudo apt install docker-ce docker-ce-cli containerd.io
4.启动Docker服务
安装完成后,Docker服务将自动启动。您可以使用以下命令检查Docker服务的状态:
sudo systemctl status docker
如果显示active (running)则表示Docker服务已成功启动。
5 .设置Docker开机自启
sudo systemctl enable docker
6 .验证安装
为了验证安装是否成功,您可以运行以下命令来检查Docker版本:
docker --version
如果显示Docker版本号,则表示安装成功。
sudo docker run hello-world
5. 配置Docker用户权限
默认情况下,只有root用户或具有sudo权限的用户可以运行Docker命令。为了以非root用户身份运行Docker命令,您可以将用户添加到docker用户组中。
5.1 创建docker用户组
在终端中执行以下命令以创建docker用户组:
sudo groupadd docker
5.2 将用户添加到docker用户组
执行以下命令将您的用户添加到docker用户组中(替换username
为您的实际用户名):
sudo usermod -aG docker username
5.3 重新登录
为了使更改生效,您需要注销并重新登录到用户账户。
5.4 验证权限配置
您可以通过运行以下命令来验证用户是否可以运行Docker命令,而无需使用sudo:
docker run hello-world
如果能够正常执行并显示Hello from Docker!则表示用户权限配置成功。
6. 使用Docker
现在,您已成功安装并配置了Docker,您可以开始使用它来管理容器化的应用程序了。
6.1 拉取镜像
首先,可以使用以下命令来从Docker Hub上拉取一个镜像:
docker pull image_name
将image_name
替换为您要拉取的具体镜像名。
6.2 运行容器
拉取镜像后,您可以使用以下命令来运行一个容器:
docker run image_name
这将在一个容器中运行所选镜像。
6.3 管理容器
您可以使用以下命令来管理容器的生命周期和状态:
docker ps
:列出正在运行的容器。docker stop container_id
:停止某个容器。docker start container_id
:启动某个容器。docker restart container_id
:重新启动某个容器。
6.4 清理容器和镜像
您可以使用以下命令来清理无用的容器和镜像:
docker container prune
:清理处于停止状态的容器。docker image prune
:清理无用的镜像
7、卸载容器
在卸载 Docker 之前,你最好 移除所有的容器,镜像,卷和网络。
运行下面的命令停止所有正在运行的容器,并且移除所有的 docker 对象:
docker container stop $(docker container ls -aq)
docker system prune -a --volumes
现在你可以使用apt
像卸载其他软件包一样来卸载 Docker:
sudo apt purge docker-ce
sudo apt autoremove
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了