目录
1. docker run :创建一个新的容器并运行一个命令
Docker笔记——基本命令与容器操作命令
一. 基本命令
- docker info 显示 Docker 系统信息,包括镜像和容器数。
- docker version 查看docker版本信息
- docker --help 查看docker命令
- systemctl start docker 启动docker (防火墙处于关闭状态)
- systemctl enable docker 设置开机自动启动docker
二. 常用命令
1. docker run :创建一个新的容器并运行一个命令
docker run -d -p 8000:80 --volumes-from data-container --name nginx01 nginx:1.16
参数:
-
-d (daemon 守护进程) 后台运行容器,并返回容器ID;
-
-p: ( port 端口号 ) 指定端口映射
-
--volume , -v: 绑定一个卷
-
--volumes-from (来自***的卷)
-
--name="nginx-lb": 为容器指定一个名称;
用户客户机——浏览器:http://192.168.182.14:8000
2. docker ps 列出容器
docker ps -a # 显示所有容器,包括未运行的
(1) 参数:
-
-a :显示所有的容器,包括未运行的。
-
-f :根据条件过滤显示的内容。
-
--format :指定返回值的模板文件。
-
-l :显示最近创建的容器。
-
-n :列出最近创建的n个容器。
-
--no-trunc :不截断输出。
-
-q :静默模式,只显示容器编号。
-
-s :显示总的文件大小。
(2)输出详情介绍:
-
CONTAINER ID: 容器 ID。
-
IMAGE: 使用的镜像。
-
COMMAND: 启动容器时运行的命令。
-
CREATED: 容器的创建时间。
-
STATUS: 容器状态。
(3) 状态有7种:
created(已创建)restarting(重启中)running(运行中)removing(迁移中)paused(暂停)exited(停止)dead(死亡)
3. docker cp :用于容器与主机之间的数据拷贝。
docker cp index.html eea:/usr/share/nginx/html
# index.html 宿主机文件 eea( 容器ID前几位 ): /usr/share/nginx/html(容器内目录)
参数:
-L :保持源目标中的链接
格式:
-
docker cp 宿主机文件 容器:容器内目录
-
docker cp 容器:容器内目录 宿主机
4. docker exec :在运行的容器中执行命令
docker exec -it nginx01 bash/sh # 进入nginx01容器
参数OPTIONS说明:
-
-d :分离模式: 在后台运行
-
-i :即使没有附加也保持STDIN 打开
-
-t :分配一个伪终端
三. Docker镜像操作命令
1. 搜索镜像
命令格式: docker search 关键字
docker search nginx # 搜索关键字为nginx的镜像的命令和结果
2. 获取镜像
命令格式: docker pull 仓库名称:[标签]
docker pull nginx # 下载拉取 nginx (默认最新版)
3. 查看镜像信息
(1)命令格式: docker images 仓库名称:[标签]
docker images # 查看本地所有镜像的命令和结果
(2)显示结果:
-
REPOSITORY:镜像所属的仓库。
-
TAG : 镜像的标签信息,用于标记同一个仓库的不同镜像。
-
IMAGE ID : 镜像的唯一ID号,用于唯一标识一个镜像。
-
CREATE :镜像的创建时间。
-
SIZE :镜像大小。
(2)命令格式: docker inspect 镜像 ID 号
用户根据镜像的唯一标识ID号来获取镜像的详细信息。
docker inspect 0b648 # 获取指定ID的详细信息的命令和结果
(3)命令格式: docker tag 名称:[标签] 新名称:[新标签]
docker images | grep nginx01 # 为本地镜像添加新的名称 nginx01,新的标签 nginx01
为了方便后续工作中使用镜像,可以用docker tag 命令为本地的镜像 添加新的标签。
4. 删除镜像
命令格式: docker rmi 仓库名称:标签
docker rmi nginx:nginx # 删除 nginx:nginx 镜像
注意:当一个镜像有多个标签的时候,docker rmi 命令指示删除该镜像多个标签中的指定标签,不会影响镜像文件,相当于只删除了镜像的一个标签。
但当该镜像中只剩下一个标签的时候,再使用删除命令就会彻底删除该镜像。
或者:
命令格式: docker rmi 镜像ID号
docker rmi 0b648 # 删除指定ID号的镜像
5. 存出镜像和载入镜像
当需要把一台机器上的镜像迁移到另一台机器上的时候,需要将镜像保存成本地文件,这一过程叫做存出镜像。使用Docker save 命令进行存储操作,之后就可以复制该文件到掐他机器。
(1)存出镜像
命令格式: docker save -o 存出文件名 存出的镜像
docker save -o nginx /root/myWeb.bak
将存储的镜像从机器A复制到机器B后,若需要在机器B上使用该镜像,就可以将镜像导入到机器B的镜像库中,这一过程叫做载入镜像。使用docker load 或者docker load -i 进行载入操作。
(2)载入镜像
命令格式: docker load < 存出的文件
docker load < nginx
或者:
命令格式:docker load -i 存出的文件
docker load -i nginx
6. 上传镜像
命令格式: docker push 仓库名称:标签
pocker push daoke/lamp:centos7 # 公告仓库账号 daoke,新增镜像的标签为daoke/lamp:centos7