ubuntu下docker的使用(安装、卸载、使用)

在Linux系统上安装、卸载、使用和测试Docker的详细指南

Docker是一种开源容器化技术,它允许开发者轻松打包、分发和运行应用。本文将详细介绍如何在Linux系统上安装Docker、卸载Docker以及如何测试Docker安装是否成功。


一、 安装Docker

在Linux上安装Docker主要涉及一系列命令行操作。以下以Ubuntu为例,但大多数基于Debian的系统应该是类似的。

步骤1:更新软件包索引

首先,打开你的终端并更新你的软件包列表以确保访问到最新的软件版本。

sudo apt-get update

步骤2:安装所需的依赖包

安装几个允许apt通过HTTPS使用仓库的包。

sudo apt-get install apt-transport-https ca-certificates curl software-properties-common

步骤3:添加Docker的官方GPG密钥

这一步确保你下载的软件包是官方发布的。

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

步骤4:添加Docker官方APT仓库

向系统的软件源列表中添加Docker仓库。

sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

步骤5:再次更新软件包索引

添加了新的仓库后,需要再次更新软件包列表。

sudo apt-get update

步骤6:安装Docker CE(社区版)

现在,你可以安装Docker CE了。

sudo apt-get install docker-ce

步骤7:将用户添加到Docker组(可选)

默认情况下,运行Docker命令需要管理员权限。为了避免每次使用sudo,可以将你的用户添加到docker组中。

sudo usermod -aG docker ${USER}
su - ${USER}

执行此命令后,你需要重启你的系统以使这个变更生效。

确认Docker安装成功:

docker --version

步骤8:测试使用容器

在你可以开始使用Docker了。首先,试着运行一个简单的hello-world容器:

docker run hello-world

步骤9:使用Docker Compose(可选)

Docker Compose可以让你使用YAML文件来定义和运行多容器的应用。首先,安装Docker Compose:

Linux系统

sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

验证安装:

docker-compose --version

步骤10:安装NVIDIA Docker支持

NVIDIA Docker允许Docker容器访问宿主机的NVIDIA GPU,从而实现GPU加速。

对于较新版本的Docker(例如19.03及以上),应使用nvidia-docker2包和nvidia-container-toolkit

a. 添加NVIDIA Docker仓库
distribution=$(. /etc/os-release;echo $ID$VERSION_ID) \
   && curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add - \
   && curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
b. 安装nvidia-docker2和重启Docker服务
sudo apt-get update
sudo apt-get install -y nvidia-docker2
sudo systemctl restart docker
c. 使用NVIDIA容器运行时

在Docker 19.03及更高版本中,你可以直接使用--gpus标志来启用NVIDIA GPU支持,而不需要指定--runtime=nvidia

docker run --privileged=true --gpus all --restart=always --ipc=host -d --shm-size=4g -p 10022:22 -p 1935:1936 --name mf_pytorch_1 8aa6ed87aac8 /sbin/init

二、 离线安装Docker

步骤一:官网下载 docker 安装包

wget https://download.docker.com/linux/static/stable/x86_64/docker-24.0.6.tgz

步骤二:解压安装包;

tar -zxvf docker-24.0.6.tgz

步骤三:将解压之后的docker文件移到 /usr/bin目录下;

sudo cp docker/* /usr/bin/

步骤四:将docker注册成系统服务;

vim /etc/systemd/system/docker.service

然后在文件中添加以下内容,退出并保存。

[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target

[Service]
Type=notify
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
LimitNOFILE=infinity
LimitNPROC=infinity
TimeoutStartSec=0
Delegate=yes
KillMode=process
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s

[Install]
WantedBy=multi-user.target

步骤五:给文件增加可执行权限

chmod +x /etc/systemd/system/docker.service
systemctl daemon-reload 

步骤六:设置开机自启动

systemctl enable docker.service

步骤七 :Docker daemon 配置代理

vim /etc/docker/daemon.json

添加如下内容:

{
    "registry-mirrors": [
        "https://registry.docker-cn.com",
        "http://hub-mirror.c.163.com",
        "https://docker.mirrors.ustc.edu.cn",
        "https://kfwkfulq.mirror.aliyuncs.com"
    ]
}
sudo systemctl daemon-reload
sudo systemctl restart docker

步骤八 :启动docker

systemctl start docker

步骤九:测试docker是否启动

docker run hello-world

三、卸载Docker

如果你需要卸载Docker,可以按照以下步骤进行:

步骤1:卸载Docker CE

sudo apt-get purge docker-ce

步骤2:删除资源

这一步将删除所有Docker的镜像、容器、配置文件和网络。

sudo rm -rf /var/lib/docker

四、docker日常使用命令-Docker基础

镜像

1. 查找镜像

从Docker Hub或其他Docker注册中心搜索镜像。

docker search <镜像名>
2. 拉取镜像

从Docker Hub或其他Docker注册中心下载(拉取)镜像到本地。

docker pull <镜像名>:<标签>

如果不指定标签,默认为latest

3. 查看本地镜像

列出本地所有的Docker镜像。

docker images
4. 创建镜像

有多种方法可以创建Docker镜像,最常见的是使用Dockerfile。

  • 通过Dockerfile构建镜像
docker build -t <镜像名>:<标签> <Dockerfile路径>
  • 基于容器创建镜像

先对容器进行修改,然后通过容器创建新的镜像。

docker commit <容器ID> <镜像名>:<标签>
5. 删除镜像

从本地删除一个或多个镜像。

docker rmi <镜像ID或镜像名>:<标签>
6. 导出和导入镜像
  • 导出镜像到文件
docker save -o <文件名.tar> <镜像名>:<标签>
  • 从文件导入镜像
docker load -i <文件名.tar>
7. 推送镜像到仓库

将本地镜像推送到Docker Hub或其他Docker注册中心。

docker push <仓库名>/<镜像名>:<标签>

在执行推送操作之前,需要登录到Docker注册中心。

docker login
8. 标记镜像

为镜像添加新的标签。

docker tag <原镜像名>:<原标签> <新仓库名>/<新镜像名>:<新标签>

容器

1. 运行容器

从镜像启动一个新的容器。如果本地没有指定的镜像,Docker会尝试从远程仓库拉取该镜像。

docker run [选项] <镜像名>:<标签> [命令] [参数]

常用选项包括:

  • -d:后台运行容器。
  • -p:端口映射,格式为<宿主机端口>:<容器端口>
  • -v:挂载卷,格式为<宿主机目录>:<容器目录>
  • --name:为容器指定一个名称。
  • -it:以交互模式运行容器,并分配一个伪终端。
2. 查看容器
  • 查看正在运行的容器
docker ps
  • 查看所有容器(包括未运行的)
docker ps -a
3. 停止容器

停止一个或多个正在运行的容器。

docker stop <容器ID或名称>
4. 启动容器

启动一个或多个已停止的容器。

docker start <容器ID或名称>
5. 重启容器

重启一个或多个容器。

docker restart <容器ID或名称>
6. 删除容器

删除一个或多个已停止的容器。

docker rm <容器ID或名称>
7. 进入容器
  • 使用docker exec命令

在运行中的容器内执行命令。常用于进入容器内部进行操作。

docker exec -it <容器ID或名称> /bin/bash
8. 查看容器日志

查看容器的输出日志。

docker logs <容器ID或名称>
9. 容器资源使用情况

查看一个或多个容器的资源使用情况,如CPU、内存等。

docker stats <容器ID或名称>
10. 复制文件
  • 从容器中复制文件到宿主机
docker cp <容器ID或名称>:<容器内路径> <宿主机路径>
  • 从宿主机复制文件到容器中
docker cp <宿主机路径> <容器ID或名称>:<容器内路径>
要在Ubuntu上离线安装Docker,您可以按照以下步骤进行操作: 1、在有网络连接的设备上下载Docker安装包及其依赖项。您可以通过访问Docker官方文档,找到适用于您的Ubuntu版本的Docker安装包下载链接。根据您的Ubuntu版本,您可能需要下载docker-ce(Docker社区版)、docker-ce-cli(Docker命令行接口)和containerd.io(容器运行时)等安装包。 2、将下载好的安装包传输到目标Ubuntu设备的一个单独目录中。 3、在目标设备的终端中,导航到安装包所在的目录。 4、通过以下命令依次安装依赖项和Docker: sudo dpkg -i containerd.io_1.4.12_amd64.deb sudo dpkg -i docker-ce-cli_20.10.12_amd64.deb sudo dpkg -i docker-ce_20.10.12_amd64.deb<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [安装Ubuntu和离线安装docker](https://blog.csdn.net/weixin_44495678/article/details/89889717)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [Ubuntu:离线安装docker](https://blog.csdn.net/hzblucky1314/article/details/130355681)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值