docker的基本使用

adtxl
2022-04-13 / 0 评论 / 576 阅读 / 正在检测是否收录...

1. 镜像

1.1 获取镜像

Docker 镜像,静态概念,好比 Linux 中 ELF 文件。Docker Hub 上有大量的高质量的镜像可以用.

查看当前系统中的image,

$ docker images # 列出当前下载的镜像

从 Docker 镜像仓库获取镜像的命令是 docker pull。其命令格式为:

$ docker pull [选项] [Docker Registry 地址[:端口号]/]仓库名[:标签]

$ docker pull 镜像名称[:tag] # 从服务器下载镜像,tag 相当于版本号

$ docker rmi 镜像名称[:tag] # 删除本地镜像,-f 选项是强制删除

1.2 运行镜像

有了镜像后,我们就能够以这个镜像为基础启动并运行一个容器。一个例子如下,

$ docker run -it --rm ubuntu:18.04 bash

root@e7009c6ce357:/# cat /etc/os-release
NAME="Ubuntu"
VERSION="18.04.1 LTS (Bionic Beaver)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 18.04.1 LTS"
VERSION_ID="18.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=bionic
UBUNTU_CODENAME=bionic

参数解释如下:

-it:这是两个参数,一个是 -i:交互式操作,一个是 -t 终端。我们这里打算进入 bash 执行一些命令并查看返回结果,因此我们需要交互式终端。

--rm:这个参数是说容器退出后随之将其删除。默认情况下,为了排障需求,退出的容器并不会立即删除,除非手动 docker rm。我们这里只是随便执行个命令,看看结果,不需要排障和保留结果,因此使用 --rm 可以避免浪费空间。

ubuntu:18.04:这是指用 ubuntu:18.04 镜像为基础来启动容器。

bash:放在镜像名后的是 命令,这里我们希望有个交互式 Shell,因此用的是 bash。

1.3 删除镜像

如果要删除本地的镜像,可以使用 docker image rm 命令,其格式为:

$ docker image rm [选项] <镜像1> [<镜像2> ...]

2. 容器

Docker 实例,动态概念,好比 Linux 中进程

$ docker run -it --name 容器名称 -v 本地绝对路径:容器内绝对路径 镜像名称:tag /bin/bash # 创建容器,并建立磁盘的映射

$ docker ps -a # 列出正在运行和历史运行容器

$ docker rm 容器ID # 删除本地容器,-f 选项是强制删除

$ docker start 容器ID # 启动容器

$ docker attach 容器ID # 进入正在运行的容器

$ docker exec -it 容器ID /bin/bash # 进入已经运行的容器,相当于同一个容器启动多个窗口
  • Push

在 Container 有改动需要制作新的 Image 时,可以 commit 然后 push

$ docker commit -m="描述" -a="作者" 容器ID 要创建的镜像名称[:TAG]

$ docker push 要创建的镜像名称[:TAG]
0

评论 (0)

取消