玖叶教程网

前端编程开发入门

总结一些Docker的相关操作(docker用处)

Docker 是一个开源的应用容器引擎,它允许在宿主机下运行多个虚拟环境,互不干扰。

基础概念

1.Docker 镜像Image:它是一个安装包,包含了用于创建、部署和执行容器的一系列依赖关系和信息。可以在几秒钟内创建任意数量的完全相同的容器。镜像是分层叠加的。一旦镜像被创建出来,是不能更改的。如果你想对容器进行更改,则只需创建一个新的镜像并从该镜像部署新的容器即可。

2.Repository(repo):它是一个软件库,存储了可下载并安装在系统中的软件包。在 Docker 容器中,唯一的区别是它管理的是通过标签分类的 Docker 镜像。你可以找到同一个应用程序的不同版本或不同变体,他们都有适当的标记

3.镜像管理服务Registry:可以将其想象成 GitHub。这是一个在线服务,管理并提供了对 Docker 镜像仓库的访问,例如默认的公共镜像仓库——DockerHub。供应商可以将他们的镜像库上传到 DockerHub 上,以便他们的客户下载和使用官方镜像。

4.标签Tag:当你创建 Docker 镜像时,可以给它添加一个合适的标签,以便轻松识别不同的变体或版本。这与你在任何软件包中看到的并无区别。Docker 镜像在添加到镜像仓库时被标记。

5.Dockerfile :这是一个文本文件,包含为了为构建 Docker 镜像需手动执行的命令。Docker 使用这些指令自动构建镜像。

6.构建Build:这是从 Dockerfile 创建成镜像的过程。

7.推送Push:一旦镜像创建完成,“push” 是将镜像发布到仓库的过程

8.拉取Pull:用户可以通过 “pull” 过程从仓库检索该镜像。

9.编组Compose:复杂的应用程序会包含多个容器。docker-compose 是一个用于运行多容器应用程序的命令行工具。它允许你用单条命令运行一个多容器的应用程序,简化了多容器带来的问题。

一、下载镜像

搜索镜像文件:

sudo docker search ubuntu

下载指定版本的镜像,例如:

sudo docker pull ubuntu:18.04

所有下载的镜像文件,都被保存在 /var/lib/docker 文件夹下

查看已经下载的镜像列表,可以使用以下命令:

sudo docker images

二、运行 Docker 镜像

运行容器:(也可以通过镜像 ID 来启动新的容器)

下载完 Docker 镜像之后,你可以通过下面的命令来使用其标签来启动

sudo docker run -t -i ubuntu:latest /bin/bash

ubuntu:latest:带有标签 latest 的 Ubuntu 容器

/bin/bash:在新的容器中启动 BASH Shell

启动容器后,会直接进入里面,想退出到宿主机,并且不中断该容器的执行,可以按下 CTRL+P,再按下 CTRL+Q

需要注意的是,容器 ID 和 Docker 的镜像 ID是不同的。

可以通过以下命令查看所有正在运行和停止运行的容器:

sudo docker ps -a

如果想要进入正在运行的容器中,你只需要运行:

sudo docker attach <container-id> 退出exit

三、构建自己的镜像

想要创建自己的 Docker 镜像,你需要先运行一个你已经下载完的容器:

sudo docker run -t -i ubuntu:latest /bin/bash

现在,你运行了一个容器,并且进入了该容器。然后,在该容器中进行自己的操作

返回的宿主机的终端,不要关闭容器

在宿主机的终端中,从一个正在运行的容器中创建 Docker 镜像:

$ sudo docker commit 3d24b3de0bfc ostechnix/ubuntu_apache

3d24b3de0bfc — 指 Ubuntu 容器的 ID。

ostechnix — 创建的容器的用户名称

ubuntu_apache — 我们创建的镜像

通过这个镜像创建一个新的容器。

$ sudo docker run -t -i ostechnix/ubuntu_apache /bin/bash

四、删除容器/镜像

查看容器

sudo docker ps

停止

sudo docker stop <container-id>

删除

sudo docker rm <container-id>

删除所有已经停止的容器:

sudo docker container prune

查看镜像

Sudo docker images

使用镜像 ID 来删除镜像

sudo docekr rmi ce5aa74a48f1

nvidia-docker使用:

1. 创建一个文件夹

mkdir dockerBuild

cd dockerBuild/

2. 编写Dockerfile文件(docker hup上可以下载)

vim Dockerfile

3. 构建docker,后面有个点

docker build -t DOCKER_IMAGE_NAME .

4. 查看Label是否成功添加

docker inspect DOCKER_IMAGE_NAME

5. 使用nvidia-docker run 来运行编译好的image

nvidia-docker run -it -d DOCKER_IMAGE_NAME /bin/bash

-- name: 容器名字

--d: 后台运行容器

--rm: 容器退出后删除容器

-v: 数据卷挂载

-p: 端口映射

-P: 映射所有暴露的端口

-e: 设置容器中的环境变量

-t: 开启终端

-i: 打开标准输入

-u: 设置用户的UID

-w: 设置容器中的工作目录

-m: 内存限制

--cpuset-cpus: 设置容器具体使用的CPU

--add-host: 增加hosts到容器的/etc/hosts

--privileged: 打开特权模式

/bin/bash:在新的容器中启动 BASH Shell

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言