首页 > 系统相关 >Docker不再神秘 ------Ubuntu20.04 安装Docker 及实用技巧,建议收藏

Docker不再神秘 ------Ubuntu20.04 安装Docker 及实用技巧,建议收藏

时间:2024-11-15 17:10:02浏览次数:1  
标签:Ubuntu20.04 实用技巧 容器 image sudo 文件 Docker docker

Docker

image
docker是一种容器,简而言之就是别人把一堆环境配置好了,你可以下载下来直接拿来使用(我的个人理解),有点像虚拟机你知道吧。比如下面这样,我直接打开了一个小电脑(docker),里面桌面啊、root啊全都有,跟你ubuntu系统类似,单说细节还不完全一样,毕竟它轻便哈哈……
image
也有一些对比
image
这下你应该就知道docker是什么了。

1.安装过程

这部分一些博客说的已经很清楚了,我这里就不赘述了,特此引用一下别人的博客……
这是正常安装的教程,写的很详细
但是安装起来你会出现各种各样的问题,下面是我遇到的哦问题以及对应的解决办法。

解决问题1

image
下面是解决方法,亲测有效:
https://zhuanlan.zhihu.com/p/526303968

解决问题2

这是最常遇到的问题,说来好像是源问题……
image
下面是解决办法,亲测有效:
https://blog.csdn.net/qq_37374155/article/details/121960772
https://www.cnblogs.com/OneSeting/p/18532166
https://blog.csdn.net/TommyXu8023/article/details/113291112

Docker的一些"食用"技巧

1.Docker容器向宿主机传送文件或者文件夹

格式:

docker cp container_id:<docker容器内的路径> <本地保存文件的路径>

比如:

docker cp 50931c9e95bb:/root/yyds.txt /home/vagrant/yyds.txt

2.宿主机向Docker容器传送文件或者文件夹

格式:

docker cp 本地文件的路径 container_id:<docker容器内的路径>

比如:

docker cp  /home/vagrant/yyds.txt 50931c9e95bb:/root/

3.测试程序

docker container run hello-world
这个是样例程序,用来看你docker安装的成不成功

# 抓取官方的 hello-world 镜像:
$ docker image pull hello-world

# 查看
$ docker image ls

# 运行这个 image 文件。
$ docker container run hello-world

Hello from Docker!
This message shows that your installation appears to be working correctly.

... ...
# (运行成功!)

4.开启服务器

Docker 是服务器—-客户端架构。命令行运行docker命令的时候,需要本机有 Docker 服务。

sudo service docker start

5.sudo?sudo!

Docker 需要用户具有 sudo 权限,为了避免每次命令都输入sudo,可以把用户加入 Docker 用户组。也可以每次执行 Docker 的命令时都带上 sudo。

$ sudo usermod -aG docker $USER

6.容器文件

image 文件生成的容器实例,本身也是一个文件,称为容器文件。 也就是说,一旦容器生成,就会同时存在两个文件: image 文件和容器文件。而且关闭容器并不会删除容器文件,只是容器停止运行而已。

# 列出本机正在运行的容器
$ docker container ls

# 列出本机所有容器,包括终止运行的容器
$ docker container ls --all

7.创建IMAGE文件

Docker 需要用户具有 sudo 权限,为了避免每次命令都输入sudo,可以把用户加入 Docker 用户组。也可以每次执行 Docker 的命令时都带上 sudo。

$ docker image build -t my-demo .
# 或者
$ docker image build -t my-demo:0.0.1 .

上面代码中,-t参数用来指定 image 文件的名字,后面还可以用冒号指定标签。如果不指定,默认的标签就是latest。最后的那个点表示 Dockerfile 文件所在的路径,上例是当前路径,所以是一个点。

8.

其他还没有遇到,之后遇到我会继续更新…… 20241115 17:14

标签:Ubuntu20.04,实用技巧,容器,image,sudo,文件,Docker,docker
From: https://www.cnblogs.com/myleaf/p/18543197

相关文章

  • Docker环境搭建CUDA12.2 + Yolov5 7.0 GPU训练环境(单卡训练)
    1、建立Docker容器,指定Shm共享内存。dockerrun-d-it--nameyolov5--gpusall-p20000:22--shm-size16gdockerproxy.cn/nvidia/cuda:12.2.0-devel-ubuntu22.042、进入容器,升级安装器aptdockerexec-itf7383b766c6d/bin/bashapt-getupdateapt-getinstallvim3......
  • 记一次react+node+nginx+mysql+docker发布
    简言这是为了给老婆工作上算培训班课时,计算课销更方便点的CRM(纸质档转线上)准备工作React项目Node项目(express,koa任意选择)一台服务器(如果你是纯手工发布,服务器选择倒是无所谓,如果要结合docker的话,请选择国外服务器或者香港也行,阿里云就算了,我自己最开始用的阿里云,docker根本p......
  • 主机和Docker容器之间的文件互传方法
    Docker渐渐成为前端的一个工具,它像一个通用包装,可以把各种环境包裹其中,从而实现跨设备的兼容。使用的过程中,往往会需要将本地的文件和docker容器内部的文件互传:将主机的文件传递给容器内,让里面的工具读写;将容器内的文件拷贝出来,修改了再传入...一、主机到Docker容器/镜像的文......
  • 一种实现docker容器嵌套的方法
    【背景】   有个用户需要在docker容器中再运行一个容器,实现容器嵌套,研究了下,可以这样来实现。 【方法】1.在系统上先安装一个docker服务,我的版本是20.10.17[root@testkvm~]#rpm-qa|grepdockerdocker-ce-20.10.17-3.el7.x86_64docker-ce-cli-20.10.17-3.el7.......
  • dockerfile中cmd和entrypoint的区别
    cmd语法TheCMDinstructionhasthreeforms:CMD["executable","param1","param2"](execform,thisisthepreferredform)CMD["param1","param2"](asdefaultparameterstoENTRYPOINT)CMDcommandparam1par......
  • 5分钟上手 Docker:镜像优化
    Docker是一种流行的容器化技术,它允许开发者将应用程序及其所有依赖打包成一个标准化的单元——镜像。优化Docker镜像不仅能减小镜像的体积,提高下载和部署速度,还能增强安全性。在本文中,我们将介绍一些镜像优化的技巧,帮助你在5分钟内快速上手Docker镜像的优化。1.使用合适......
  • 搭建本地docker私服库
    1、本地镜像发布到私有库1.1、Docker Registry是什么1官方DockerHub地址:https://hub.docker.com/,中国大陆访问太慢了且准备被阿里云取代的趋势,不太主流。2Dockerhub、阿里云这样的公共镜像仓库可能不太方便,涉及机密的公司不可能提供镜像给公网,所以需要创建一个本地私人......
  • docker compose网络
    基本概念默认情况下,Compose会为我们的应用创建一个网络,服务的每个容器都会加入该网络中。这样,容器就可被该网络中的其他容器访问,不仅如此,该容器还能以服务名称作为hostname被其他容器访问。默认情况下,应用程序的网络名称基于Compose的工程名称,而项目名称基于docker-compose.yml......
  • Docker && Kubernetes
     Docker镜像与容器Docker中有两个重要概念。一个是容器(Container):容器特别像一个虚拟机,容器中运行着一个完整的操作系统。可以在容器中装Nodejs,可以执行npminstall,可以做一切你当前操作系统能做的事情另一个是镜像(Image):镜像是一个文件,它是用来创建容器的。如果你有装过......
  • 提问:如何实现,我在docker container中,curl localhost:11434时,实际访问的是宿主机的1143
    背景我们需要在dify中配置ollama。ollama服务起来之后,会把服务挂在localhost的11434上。但是,我的dify一般是在docker里起的。所以我在dockercontainer里,访问localhost:11434时,实际无法访问到宿主机的11434,也就没办法调用宿主机上的ollama。怎么解决?方法一:找到宿主机......