docker学习-常用命令2

时间:2023-07-08 09:52:14

三、容器管理命令
3.1 Docker commit 命令,从容器创建一个新的镜像。
OPTIONS说明:
  -a :提交的镜像作者;
  -c :使用Dockerfile指令来创建镜像;
  -m :提交时的说明文字;
  -p :在commit时,将容器暂停。

实例:将容器6h04c6c178u7 保存为新的镜像,并添加提交人信息和说明信息。
# docker commit -a "xliang" -m "web_db" 6h04c6c178u7 sql:v1

# docker images sql:v1
REPOSITORY TAG IMAGE ID CREATED SIZE
sql v1 6h04c6c178u7 01 seconds ago 325 MB

3.2 Docker cp 命令,用于容器与主机之间的数据拷贝。
OPTIONS说明:
  -L :保持源目标中的链接

实例:将主机/www/html目录拷贝到容器6h04c6c178u7的/www目录下。
# docker cp /www/html 6h04c6c178u7:/www/

将主机/www/html目录拷贝到容器6h04c6c178u7中,目录重命名为www。
# docker cp /www/html 6h04c6c178u7:/www

将容器6h04c6c178u7的/www目录拷贝到主机的/tmp目录中。
# docker cp 6h04c6c178u7:/www /tmp/

3.3 Docker diff 命令,检查容器里文件结构的更改。
实例
查看容器mysql的文件结构更改。
# docker diff mysql
A /logs
A /mysql_data
C /run
C /run/mysqld

四、镜像仓库命令
4.1 Docker login/logout 命令,登陆/登出到一个Docker镜像仓库,如果未指定镜像仓库地址,默认为官方仓库 Docker Hub
OPTIONS说明:
  -u :登陆的用户名
  -p :登陆的密码

实例
登陆到Docker Hub
# docker login -u 用户名 -p 密码

登出Docker Hub
# docker logout

4.2 Docker pull 命令,从镜像仓库中拉取或者更新指定镜像
OPTIONS说明:
  -a :拉取所有 tagged 镜像
  --disable-content-trust :忽略镜像的校验,默认开启

实例:从Docker Hub下载mysql最新版镜像。
# docker pull mysql

4.3 Docker push 命令,将本地的镜像上传到镜像仓库,要先登陆到镜像仓库
OPTIONS说明:
  --disable-content-trust :忽略镜像的校验,默认开启

实例:上传本地镜像myapache:v1到镜像仓库中。
# docker push myapache:v1

4.4 Docker搜索命令,从Docker Hub查找镜像
选项说明:
  --automated:只列出自动构建类型的镜像;
  --no-trunc:显示完整的镜像描述;
  -s:列出收藏数不小于指定值的镜像。

实例:从Docker Hub查找所有镜像名包含mysql,并且收藏数大于10的镜像
# docker search -s 10 mysql

五、本地镜像管理命令
5.1 Docker images命令,列出本地镜像。
选项说明:
  -a:列出本地所有的镜像(含中间映像层,默认情况下,过滤掉中间映像层);
  --digests:显示镜像的摘要信息;
  -f:显示满足条件的镜像;
  --format:指定返回值的模板文件;
  --no-trunc:显示完整的镜像信息;
  -q:只显示镜像ID。

实例:查看本地镜像列表。
# docker images

列出本地镜像中REPOSITORY为mysql的镜像列表。
# docker images mysql

5.2 Docker rmi 命令,删除本地一个或多少镜像。
OPTIONS说明:
  -f :强制删除;
  --no-prune :不移除该镜像的过程镜像,默认移除;
实例:强制删除本地镜像mysql
# docker rmi -f mysql

5.3 Docker tag 命令,标记本地镜像,将其归入某一仓库。
实例:将镜像mysql:5.6标记为 web/mysql:5.6 镜像
# docker tag mysql:5.6 web/mysql:5.6

5.4 Docker build 命令,用于使用 Dockerfile 创建镜像。
OPTIONS说明:
  --build-arg=[] :设置镜像创建时的变量;
  --cpu-shares :设置 cpu 使用权重;
  --cpu-period :限制 CPU CFS周期;
  --cpu-quota :限制 CPU CFS配额;
  --cpuset-cpus :指定使用的CPU id;
  --cpuset-mems :指定使用的内存 id;
  --disable-content-trust :忽略校验,默认开启;
  -f :指定要使用的Dockerfile路径;
  --force-rm :设置镜像过程中删除中间容器;
  --isolation :使用容器隔离技术;
  --label=[] :设置镜像使用的元数据;
  -m :设置内存最大值;
  --memory-swap :设置Swap的最大值为内存+swap,"-1"表示不限swap;
  --no-cache :创建镜像的过程不使用缓存;
  --pull :尝试去更新镜像的新版本;
  --quiet, -q :安静模式,成功后只输出镜像 ID;
  --rm :设置镜像成功后删除中间容器;
  --shm-size :设置/dev/shm的大小,默认值是64M;
  --ulimit :Ulimit配置。
  --tag, -t: 镜像的名字及标签,通常 name:tag 或者 name 格式;可以在一次构建中为一个镜像设置多个标签。
  --network: 默认 default。在构建期间设置RUN指令的网络模式

实例
使用当前目录的 Dockerfile 创建镜像,标签为 web/nginx
# docker build -t web/nginx .

使用URL github.com/creack/docker-firefox 的 Dockerfile 创建镜像。
# docker build github.com/creack/docker-firefox

也可以通过 -f Dockerfile 文件的位置:
# docker build -f /home/docke/Dockerfile .

在 Docker 守护进程执行 Dockerfile 中的指令前,首先会对 Dockerfile 进行语法检查,有语法错误时会返回:
# docker build -t test/myapp .

5.5 Docker history 命令,查看指定镜像的创建历史
OPTIONS说明:
  -H :以可读的格式打印镜像大小和日期,默认为true;
  --no-trunc :显示完整的提交记录;
  -q :仅列出提交记录ID。

实例:查看本地镜像web/mysql的创建历史。
# docker history web/mysql

5.6 Docker save 命令,将指定镜像保存成 tar 归档文件。
OPTIONS说明:
  -o :输出到的文件

实例:将镜像web/mysql 生成mysql_5.6.tar文档
# docker save -o mysql_5.6.tar web/mysql

5.7 Docker import 命令,从归档文件中创建镜像。
OPTIONS说明:
  -c :应用docker 指令创建镜像;
  -m :提交时的说明文字;

实例:从镜像归档文件mysql_5.6.tar创建镜像,命名为web/mysql5.6:v1
# docker import mysql_5.6.tar web/mysql5.6:v1

六、版本信息查看
6.1 Docker info 命令,显示 Docker 系统信息,包括镜像和容器数
实例:查看docker系统信息。
# docker info

6.2 Docker version 命令,显示 Docker 版本信息。
OPTIONS说明:
  -f :指定返回值的模板文件。

实例:显示 Docker 版本信息。
# docker version