原文链接:linux下docker安装与镜像容器管理
导言
ubuntu22.04-docker engine安装,以及镜像容器管理
docker非常简单介绍
docker就是一个虚拟化容器,image是镜像,就是一个dockerfile指明这个镜像的任务,如数据库服务,API接口,虚拟机服务,image包含环境和脚本。创建镜像后执行中的镜像实例是一个容器,这个容器可以新建删除关闭多开。
安装卸载
卸载
卸载 docker
1 2
| sudo apt-get purge docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras sudo apt-get autoremove
|
web安装
参考官网链接,docker的安装脚本会随着版本变化
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done
# Add Docker's official GPG key: sudo apt-get update sudo apt-get install ca-certificates curl sudo install -m 0755 -d /etc/apt/keyrings sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc sudo chmod a+r /etc/apt/keyrings/docker.asc
# Add the repository to Apt sources: echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \ $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \ sudo tee /etc/apt/sources.list.d/docker.list > /dev/null sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo docker run hello-world
|
deb安装
从官网下载containerd、docker-ce-cli、docker-ce、docker-buildx-plugin、docker-compose-plugin,最好发行时间一样,版本兼容
1 2
| # 在文件夹下安装 sudo dpkg -i -q containerd.io_1.6.28-2_amd64.deb docker-ce-cli_25.0.4-1~ubuntu.22.04~jammy_amd64.deb docker-ce_25.0.4-1~ubuntu.22.04~jammy_amd64.deb docker-buildx-plugin_0.13.0-1~ubuntu.22.04~jammy_amd64.deb docker-compose-plugin_2.24.7-1~ubuntu.22.04~jammy_amd64.deb
|
管理
docker启动与镜像加速
docker运行管理命令
1 2 3 4 5 6 7 8 9 10 11
| sudo docker info #查看docker位置 systemctl status docker.service #查看docker status #启动docker sudo systemctl start docker sudo service docker start #重启docker sudo systemctl restart docker sudo service docker restart #停止docker sudo systemctl stop docker sudo service docker stop
|
docker加速配置
/etc/docker/daemon.json是docker配置镜像的文件,按照如下脚本配置
1 2 3
| echo {"registry-mirrors": ["https://registry.hub.docker.com","http://hub-mirror.c.163.com","https://docker.mirrors.ustc.edu.cn","https://registry.docker-cn.com"]} | sudo tee -a /etc/docker/daemon.json sudo systemctl restart docker sudo docker info #查看有没有registry mirror
|
镜像操作
查看
1 2 3
| docker image ls #获取当时所有镜像(docker images) docker images docker ps -a
|
创建镜像
创建文件夹,编写dockerfile file1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| #ubuntu虚拟机镜像 # 进行指定所使用的Ubuntu版本 FROM ubuntu:22.04 MAINTAINER user1
ENV MYPATH /usr/local WORKDIR $MYPATH # 安装所需的命令 RUN \ apt update && \ apt -y upgrade && \ apt install -y build-essential && \ apt-get install -y net-tools
EXPOSE 80 CMD /bin/bash
|
build后完成镜像创建
1 2
| docker build -f file1 -t myubuntu:22.04 . #构建docker .不能忘 sudo docker image ls #查看镜像,ps查看正在运行的容器
|
查找拉镜像
1 2 3
| docker search image docker pull image docker push
|
推镜像
该命令将提示你输入用户名和密码来登录到 Docker Hub。
为要推送的镜像添加标签(tag):
1
| docker tag local_image:tagname username/repository:tagname
|
在这个命令中,local_image:tagname
是本地镜像的名称和标签,username/repository:tagname
是远程仓库镜像的名称和标签。
推送镜像到远程仓库:
1
| docker push username/repository:tagname
|
删除镜像
容器操作
创建
1 2 3 4
| # 创建镜像的容器并进入 sudo docker run -it -d --name ubuntu1 myubuntu:22.04 -it 表示以交互式模式运行容器,并分配一个伪终端 -d 后台保持
|
关闭启动
1 2
| sudo docker start -ia ubuntu1 sudo docker stop ubuntu1
|
进入
1
| sudo docker exec -it ubuntu1 /bin/bash
|
删除
1
| sudo docker rm -f ubuntu1
|
退出
exit退出或ctrlD
通信
传文件
1 2
| sudo docker cp container_id:path localpath #发文件给主机 sudo docker cp localpath container_id:path #发文件给容器
|
创建一个docker镜像-指定显卡,核心
docker run –gpus “device=2,3” your_image
CMD [“–cpus”,”2”]