Docker入门命令


1. 安装Docker

uname -r 
# '版本大于3.10'
yum update 
curl -fsSL https://get.docker.com/ | sh
systemctl start docker
systemctl enable docker

2. 搜索/下载镜像

docker search redis

docker pull redis:2.8

3. 查询本地镜像

docker images

4. 启动镜像到容器

docker run -p 6379:6379 -d redis:2.8

5. 查询已启动镜像/容器

docker ps -a

6. 进入容器环境

docker exec -it NAMES bash

7. 创建镜像

  1. 基于已有镜像的容器创建
  2. 基于本地模板导入
  3. 基于Dockerfile创建

7.1. 基于已有镜像的容器创建

使用docker [container] commit命令

命令格式:docker [container] commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]

选项:

短格式长格式注释
-a–author string作者信息 (e.g., “John Hannibal Smith hannibal@a-team.com”)
-c–change list提交的时候执行Dockerfile指令,包括CMD|ENTRYPOINT|ENV|EXPOSE|LABEL|ONBUILD|USER|VOLUME|WORKDIR等 (default [])
–helpPrint usage
-m–message string提交消息
-p–pause提交时暂停容器运行 (default true)

7.2. 基于本地模板导入

使用docker [image] import命令

命令格式:docker [image] import [OPTIONS] file|URL|- [REPOSITORY[:TAG]]

选项:

短格式长格式注释
-c–change list将Dockerfile指令应用于创建的映像 (default [])
–helpPrint usage
-m–message string设置导入镜像的提交消息

示例:

  1. 从 http://openvz.org/Download/templates/precreated 下载模板压缩包ubuntu-18.04-x86_64-minimal.tar.gz
  2. 使用cat ubuntu-18.04-x86_64-minimal.tar.gz | docker import - ubuntu:18.04命令导入新镜像

7.3. 基于Dockerfile创建

Dockerfile是个文件,利用给定的指令描述基于某个父镜像创建新镜像的过程。
使用docker [image] build命令

命令格式:docker [image] build [OPTIONS] PATH | URL | -

选项:

短格式长格式注释
–build-arg list设置构建时变量 (default [])
–cache-from stringSlice视为缓存源的镜像
–cgroup-parent stringOptional parent cgroup for the container
–compressCompress the build context using gzip
–cpu-period intLimit the CPU CFS (Completely Fair Scheduler) period
–cpu-quota intLimit the CPU CFS (Completely Fair Scheduler) quota
-c–cpu-shares intCPU shares (relative weight)
–cpuset-cpus stringCPUs in which to allow execution (0-3, 0,1)
–cpuset-mems stringMEMs in which to allow execution (0-3, 0,1)
–disable-content-trustSkip image verification (default true)
-f–file stringDockerfile的名字 (Default is ‘PATH/Dockerfile’)
–force-rmAlways remove intermediate containers
–helpPrint usage
–isolation stringContainer isolation technology
–label listSet metadata for an image (default [])
-m–memory stringMemory limit
–memory-swap stringSwap limit equal to memory plus swap: ‘-1’ to enable unlimited swap
–network stringSet the networking mode for the RUN instructions during build (default “default”)
–no-cacheDo not use cache when building the image
–pullAlways attempt to pull a newer version of the image
-q–quiet禁止生成输出并在成功时打印镜像ID
–rmRemove intermediate containers after a successful build (default true)
–security-opt stringSliceSecurity options
–shm-size stringSize of /dev/shm, default value is 64MB
-t–tag list名字和可选的tag,格式为’name:tag’ (default [])
–ulimit ulimitUlimit options (default [])
-v–volume list设置构建时绑定挂载 (default [])

8. 迁移镜像

  1. 导出镜像到tar包
  2. 复制到其他机器
  3. 从tar包导入镜像到本地镜像库

8.1. 导出镜像到tar包

使用docker [image] save命令

命令格式:docker [image] save [OPTIONS] IMAGE [IMAGE...]

选项:

短格式长格式注释
–helpPrint usage
-o–output string导出镜像到指定的文件中

示例:
docker save -o ubuntu_18.04.tar ubuntu:18.04

8.2. 从tar包导入镜像到本地镜像库

使用docker [image] load命令

命令格式:docker [image] load [OPTIONS]

选项:

短格式长格式注释
–helpPrint usage
-i–input stringRead from tar archive file, instead of STDIN
-q–quietSuppress the load output

示例:
docker load -i ubuntu_18.04.tar
或者:
docker load < ubuntu_18.04.tar

9. 上传镜像

使用docker [image] push命令

命令格式:docker [image] push [OPTIONS] NAME[:TAG] | [REGISTRY_HOST[:REGISTRY_PORT]/]NAME[:TAG]

选项:

短格式长格式注释
–disable-content-trustSkip image verification (default true)
–helpPrint usage

示例:
docker tag test:latest user/test:latest
docker push user/test:latest

10. docker命令帮助

docker --help
语法:  docker COMMAND

A self-sufficient runtime for containers

可选命令:
      --config string      客户端配置文件的位置 (default "/root/.docker")
  -D, --debug              启动调试模式
      --help               显示此回显
  -H, --host list          要连接到的守护程序套接字 (default [])
  -l, --log-level string   设置日志记录级别 ("debug", "info", "warn", "error", "fatal") (default "info")
      --tls                Use TLS; implied by --tlsverify
      --tlscacert string   仅由该CA签名的信任证书 (default "/root/.docker/ca.pem")
      --tlscert string     TLS证书文件的路径 (default "/root/.docker/cert.pem")
      --tlskey string      TLS密钥文件的路径 (default "/root/.docker/key.pem")
      --tlsverify          使用TLS并验证远程
  -v, --version            显示版本信息并退出

管理命令:
  container   管理容器
  image       管理镜像
  network     管理网络
  node        管理集群节点
  plugin      管理插件
  secret      Manage Docker secrets
  service     管理服务
  stack       Manage Docker stacks
  swarm       Manage Swarm
  system      管理Docker
  volume      管理卷

命令:
  attach      附加到正在运行的容器
  build       从Dockerfile构建镜像
  commit      根据容器的更改创建新镜像
  cp          在容器和本地文件系统之间复制文件/文件夹
  create      创建一个新的容器
  diff        检查容器文件系统上的更改
  events      从服务器获取实时事件
  exec        在正在运行的容器中运行命令
  export      将容器的文件系统导出为tar存档
  history     显示镜像的历史记录
  images      显示镜像清单
  import      从tarball导入内容以创建文件系统镜像
  info        显示系统范围的信息
  inspect     返回有关Docker对象的低级信息
  kill        杀死一个或多个正在运行的容器
  load        从tar存档或STDIN加载镜像
  login       登录Docker在线仓库
  logout      登出Docker在线仓库
  logs        提取容器的日志
  pause       暂停一个或多个容器中的所有进程
  port        列出端口映射或容器的特定映射
  ps          显示容器清单
  pull        从在线仓库拖取一个镜像或者一个库
  push        向在线仓库推送一个镜像或者一个库
  rename      给一个容器改名
  restart     重启一个或多个容器
  rm          删除一个或多个容器
  rmi         删除一个或多个镜像
  run         在新容器中运行命令
  save        将一个或多个镜像保存到tar存档(默认情况下流式传输到STDOUT)
  search      搜索Docker官方仓库中的镜像
  start       启动一个或多个已停止的容器
  stats       显示实时的容器资源使用情况统计流
  stop        停止一个或多个运行中的容器
  tag         创建引用了SOURCE_IMAGE的标签TARGET_IMAGE
  top         显示容器的运行过程
  unpause     取消暂停一个或多个容器中的所有进程
  update      更新一个或多个容器的配置
  version     显示Docker版本信息
  wait        阻塞直到一个或多个容器停止,然后打印其退出代码

运行“docker COMMAND --help”以获取有关命令的更多信息。

11. 相似命令对比

docker [image] import
导入容器快照文件到本地镜像库(容器快照没有历史记录和元数据)

docker [image] load
导入镜像存储文件到本地镜像库(镜像存储文件保存了完整的记录)

docker [image] save
将镜像打包成tar文件

docker [container] export
拍摄容器快照到tar文件

docker [container] commit
从容器创建新镜像

docker [container] create
将镜像放入新容器

docker [container] start
启动没启动的容器

docker [container] run
将镜像放入新容器并启动

docker [container] update
更新容器运行中的参数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值