docker学习笔记---基本命令
- [root@docker ~]# docker
- Usage: docker [OPTIONS] COMMAND
- A self-sufficient runtime for containers
- Options:
- --config string Location of client config files (default "/root/.docker")
- -D, --debug Enable debug mode
- -H, --host list Daemon socket(s) to connect to
- -l, --log-level string Set the logging level ("debug"|"info"|"warn"|"error"|"fatal") (default "info")
- --tls Use TLS; implied by --tlsverify
- --tlscacert string Trust certs signed only by this CA (default "/root/.docker/ca.pem")
- --tlscert string Path to TLS certificate file (default "/root/.docker/cert.pem")
- --tlskey string Path to TLS key file (default "/root/.docker/key.pem")
- --tlsverify Use TLS and verify the remote
- -v, --version Print version information and quit
- Management Commands:
- config Manage Docker configs
- container Manage containers
- image Manage images
- network Manage networks
- node Manage Swarm nodes
- plugin Manage plugins
- secret Manage Docker secrets
- service Manage services
- stack Manage Docker stacks
- swarm Manage Swarm
- system Manage Docker
- trust Manage trust on Docker images
- volume Manage volumes
- Commands:
- attach Attach local standard input, output, and error streams to a running container
- build Build an image from a Dockerfile
- commit Create a new image from a container's changes
- cp Copy files/folders between a container and the local filesystem
- create Create a new container
- diff Inspect changes to files or directories on a container's filesystem
- events Get real time events from the server
- exec Run a command in a running container
- export Export a container's filesystem as a tar archive
- history Show the history of an image
- images List images
- import Import the contents from a tarball to create a filesystem image
- info Display system-wide information
- inspect Return low-level information on Docker objects
- kill Kill one or more running containers
- load Load an image from a tar archive or STDIN
- login Log in to a Docker registry
- logout Log out from a Docker registry
- logs Fetch the logs of a container
- pause Pause all processes within one or more containers
- port List port mappings or a specific mapping for the container
- ps List containers
- pull Pull an image or a repository from a registry
- push Push an image or a repository to a registry
- rename Rename a container
- restart Restart one or more containers
- rm Remove one or more containers
- rmi Remove one or more images
- run Run a command in a new container
- save Save one or more images to a tar archive (streamed to STDOUT by default)
- search Search the Docker Hub for images
- start Start one or more stopped containers
- stats Display a live stream of container(s) resource usage statistics
- stop Stop one or more running containers
- tag Create a tag TARGET_IMAGE that refers to SOURCE_IMAGE
- top Display the running processes of a container
- unpause Unpause all processes within one or more containers
- update Update configuration of one or more containers
- version Show the Docker version information
- wait Block until one or more containers stop, then print their exit codes
- Run 'docker COMMAND --help' for more information on a command.
1、docker start/stop/restart/kill
启动/停止/重启/杀掉容器
实例操作如下:
- [root@docker ~]# docker start myweb
- [root@docker ~]# docker stop myweb
- [root@docker ~]# docker restart myweb
- [root@docker ~]# docker kill -s kill myweb
- 参数 -s #向容器发送信号
2、docker run
创建并启动一个新的容器
常用参数如下:
- -d, --detach=false #后台运行容器,并返回容器ID
- -i, --interactive=false #以交互式模式运行容器,常与-t参数同时使用
- -t, --tty=false #给容器重新分配一个伪终端,常与-i参数同时使用
- -w, --workdir="", 指定容器的工作目录
- --name #给容器指定一个名称
- -e, --env=[] 指定环境变量,容器中可以使用该环境变量
- -m --memory="" #指定容器使用内存的最大值
- -c, --cpu-shares=, 设置容器CPU权重,在CPU共享场景使用
- -p, --publish=[], 指定容器暴露的端口
- -v, --volume=[], 给容器挂载存储卷,挂载到容器的某个目录
- --volumes-from=[], 给容器挂载其他容器上的卷,挂载到容器的某个目录
- --net #指定容器使用的网络类型
- bridge 使用docker daemon指定的网桥
- host //容器使用主机的网络
- container:NAME_or_ID >//使用其他容器的网路,共享IP和PORT等网络资源
- none 容器使用自己的网络(类似--net=bridge),但是不进行配置
- --link #链接到另一个容器
- --restart="no", 指定容器停止后的重启策略:
- no:容器退出时不重启
- on-failure:容器故障退出(返回值非零)时重启
- always:容器退出时总是重启
实例操作如下:
- [root@docker ~]# docker run -d --name nginx busybox:latest
- 3a90679ec552a00a989a9db2734044fd9a0314b35eee9b490cdcd7e763782516
- #后台启动并运行一个名为nginx的容器,运行前它会自动去docker镜像站点下载最新的镜像文件
- [root@docker ~]# docker run -d -p 8080:8080 busybox:latest
- 3c4d6a2f19099deebc5c3f874a2c86a281076f52921fb27614654237da1cba4e
- #后台启动并运名为nginx的容器,然后将容器的80端口映射到物理机的80端口
- [root@docker ~]# docker run -d -v /opt/data/:/docker/data -p 8080:8080 busybox:latest
- 89511e1621bb7222785deb641dfb5d7b69971e0787ecc293f47931881acd8fec
- #后台启动并运名为nginx的容器,然后将容器的80端口映射到物理机的80端口,并且将物理机的/opt/data目录映射到容器的/docker/data
- [root@docker ~]# docker run -dit -v /opt/data/:/docker/data -p 8080:8080 busybox:latest /bin/sh
- 59961b69f80b3dab22330da30e5d4363dbd98d8bb3597b8fcfa485216f33176d
- [root@docker ~]# docker exec -it 59961b69f80b /bin/sh
- / # ls /docker/data/
- / #
- #以交互式模式运行容器,然后在容器内执行/bin/bash命令
3、docker rm
删除容器
常用参数如下:
-f #强制删除一个运行中的容器
-l #删除指定的链接
-v #删除与容器关联和卷
实例操作如下:
- [root@docker ~]# docker rm -f mydocker
- #强制删除容器mydocker
- [root@docker ~]# docker rm -f dockerA dockerB
- #强制删除容器dockerA,dockerB
- [root@docker ~]# docker rm -v mydocker
- #删除容器,并删除容器挂载的数据卷
4、docker create
- 创建一个新的容器但不启动它
- [root@docker ~]# docker create --name myserver busybox:latest
- 09b93464c2f75b7b69f83d56a9cfc23ceb50a48a9db7652ee4c27e3e2cb1961f
- #创建一个名为myserver的容器
5、docker exec
在运行的容器中执行命令
常用参数如下:
- -d #在后台运行
- -i #保持STDIN打开
- -t #分配一个伪终端
实例操作如下
- [root@docker ~]# docker exec -it busybox /bin/sh /server/scripts/docker.sh
- hello world!!!!!!!!!!
- #以交互模式执行容器中的/server/scripts/docker.sh脚本
- [root@docker ~]# docker exec -it busybox /bin/sh
- root@b1a0703e41e7:/#
- #以交互模式给容器分配一个伪终端连接
6、docker ps
列出容器(正在运行)
常用参数如下:
- -a #列出所有容器包括停止的
- -f #根据条件过滤显示内容
- -l #列出最近创建的容器
- -n #列出最近创建的N个容器,N为数字
- -q #只显示容器ID
- -s #显示总文件大小
- 实例操作如下:
- [root@docker ~]# docker ps
- CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
- e3734caa2f63 busybox:latest "/bin/sh" 2 hours ago Up 2 hours 0.0.0.0:8080->8080/tcp busybox
- #列出正在运行的容器
- [root@docker ~]# docker ps -n 2
- CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
- e3734caa2f63 busybox:latest "/bin/sh" 2 hours ago Up 2 hours 0.0.0.0:8080->8080/tcp busybox
- 81d825fbfc3b busybox:latest "/bin/bash" 3 hours ago Created 0.0.0.0:8080->8080/tcp vigorous_torvalds
- #列出最近创建的2个容器
- [root@docker ~]# docker ps -a -q
- e3734caa2f63
- 81d825fbfc3b
- 89511e1621bb
- 3c4d6a2f1909
- #显示所有容器的ID
7、docker inspect
获取容器的元数据
常用参数如下:
- -f #指定返回值格式或模板文件
- -s #显示总文件大小
- --type #为指定类型返回JSON
- 实例操作如下:
- [root@docker ~]# docker inspect f2b851facacc
- [
- {
- "Id": "f2b851facacc4b43a1585cc855d464e21a64d470e9c000fec1f633e75f9706e7",
- "Created": "2019-12-15T10:01:46.932500174Z",
- "Path": "/bin/sh",
- "Args": [],
- "State": {
- "Status": "running",
- "Running": true,
- "Paused": false,
- "Restarting": false,
- "OOMKilled": false,
- "Dead": false,
- "Pid": 7586,
- "ExitCode": 0,
- "Error": "",
- "StartedAt": "2019-12-15T10:01:47.870143961Z",
- "FinishedAt": "0001-01-01T00:00:00Z"
- },
- "Image": "sha256:db8ee88ad75f6bdc74663f4992a185e2722fa29573abcc1a19186cc5ec09dceb",
- "ResolvConfPath": "/var/lib/docker/containers/f2b851facacc4b43a1585cc855d464e21a64d470e9c000fec1f633e75f9706e7/resolv.conf",
- "HostnamePath": "/var/lib/docker/containers/f2b851facacc4b43a1585cc855d464e21a64d470e9c000fec1f633e75f9706e7/hostname",
- "HostsPath": "/var/lib/docker/containers/f2b851facacc4b43a1585cc855d464e21a64d470e9c000fec1f633e75f9706e7/hosts",
- "LogPath": "/var/lib/docker/containers/f2b851facacc4b43a1585cc855d464e21a64d470e9c000fec1f633e75f9706e7/f2b851facacc4b43a1585cc855d464e21a64d470e9c000fec1f633e75f9706e7-json.log",
- "Name": "/peaceful_ride",
- "RestartCount": 0,
- "Driver": "overlay2",
- "Platform": "linux",
- "MountLabel": "",
- "ProcessLabel": "",
- "AppArmorProfile": "",
- "ExecIDs": null,
- "HostConfig": {
- "Binds": [
- "/opt/data/:/docker/data/"
- ],
- ------------------------------省略部分内容
- #获取容器ID为f2b851facacc的元数据信息
- [root@docker ~]# docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' f2b851facacc
- 172.17.0.2
- #获取容器为f2b851facacc的IP地址
8、docker logs
获取容器的日志
常用参数如下:
- -f #跟踪日志输出
- -t #显示时间戳
- --tail #只显示最新n条容器日志
- --since #显示某个开始时间的所有日志
- 实例操作如下:
- [root@docker ~]# docker logs -f busybox
- #跟踪查看容器busybox的日志
9、docker port
显示指定容器的端口映射
实例操作如下:
- [root@docker ~]# docker port busybox
- 8080/tcp -> 0.0.0.0:8080
- #显示busybox容器的端口映射信息
10、docker commit
用已存在的容器重新创建一个新的镜像
常用参数如下:
- -a #提交的镜像作者
- -c #使用Dockerfile指令来创建镜像
- -m #提交时附上说明文字
- -p #在commit时,将容器暂停
实例操作如下:
- [root@docker ~]# docker commit -a "test" -m "mynginx" busybox busybox:v1.0
- sha256:f4d667e471bc72c315bd889869fc1914936dfae2dedd2ce186ee06cad33bb4bd
- [root@docker ~]# docker images |grep busybox
- busybox v1.0 f4d667e471bc 24 seconds ago 1.22MB
- #将容器busybox重新生成一个新的版本busybox:v1.0
11、docker cp
用于容器与物理主机之间拷贝文件
实例操作如下:
- [root@docker ~]# docker cp /opt/data/index.html busybox:/docker
- [root@docker ~]# docker exec -it busybox /bin/ls /docker
- data index.html
- #将物理主机中的/opt/data/index.html拷贝到容器busybox的/docker目录下
- [root@docker ~]# docker cp /opt/data/index.html busybox:/docker/index.php
- [root@docker ~]# docker exec -it busybox /bin/ls /docker
- data index.html index.php
- #将物理主机中的/opt/data/index.html拷贝到容器busybox的/docker目录下并改名为index.php
- [root@docker ~]# docker cp busybox:/docker /opt/
- [root@docker ~]# ls /opt/
- data docker
- #拷贝容器busybox:/docker目录到物理主机中的/opt/目录下
12、docker login/logout
用于登录与登出容器镜像仓库
docker login #登陆到一个Docker镜像仓库,如果未指定镜像仓库地址,默认为官方仓库 Docker Hub
docker logout #登出一个Docker镜像仓库,如果未指定镜像仓库地址,默认为官方仓库 Docker Hub
常用参数如下:
-u #登陆的用户名
-p #登陆的密码
实例操作如下:
- [root@docker ~]# docker login -u username -p password
- Login Succeeded
- [root@docker ~]# docker logout
- Removing login credentials for https://index.docker.io/v1/
- #登录与登出默认的容器镜像仓库
13、docker pull/push
docker pull #从镜像仓库中拉取或者更新指定镜像
docker push #将本地的镜像上传到镜像仓库,要先登陆到镜像仓库
实例操作如下:
- [root@docker ~]# docker pull nginx
- Using default tag: latest
- Trying to pull repository docker.io/library/nginx ...
- latest: Pulling from docker.io/library/nginx
- f2aa67a397c4: Already exists
- 3c091c23e29d: Pulling fs layer
- 4a99993b8636: Pulling fs layer
- #从镜像仓库中拉取或者更新指定镜像,输出信息如上
- [root@docker ~]# docker push busybox:v1.0.0
- #上传镜像到镜像仓库上
14、docker images
显示系统本地容器镜像文件
常用参数如下:
- -a #列出所有的镜像(含中间映像层,默认,过滤掉中间映像层);
- --digests #显示镜像的摘要信息;
- -f #显示满足条件的镜像;
- --format #指定返回值的模板文件;
- --no-trunc #显示完整的镜像信息;
- -q #只显示镜像ID。
实例操作如下:
- [root@docker ~]# docker images
- REPOSITORY TAG IMAGE ID CREATED SIZE
- busybox v1.0 f4d667e471bc 8 minutes ago 1.22MB
- bitnami/jenkins
- #列出本地所有的镜像
- [root@docker ~]# docker images -q
- 20ee805752cb
- 4700307f41f2
- #只显示容器ID
- [root@docker ~]# docker images --digests
- REPOSITORY TAG DIGEST IMAGE ID CREATED SIZE
- busybox v1.0 <none> f4d667e471bc 9 minutes ago 1.22MB
- bitnami/jenkins 2.176.3-debian-9-r5 sha256:3ed6e367edbfececb8d5eb81e1a95eacf188f2f39e629301170aa6b44d61fb92 efdd74a3f655 3 months ago 872MB
- [root@docker ~]# docker images --no-trunc
- REPOSITORY TAG IMAGE ID CREATED SIZE
- busybox v1.0 sha256:f4d667e471bc72c315bd889869fc1914936dfae2dedd2ce186ee06cad33bb4bd 10 minutes ago 1.22MB
- bitnami/jenkins 2.176.3-debian-9-r5 sha256:efdd74a3f655022fedbb3ce09b4652f3b7fdf785f75ffeb1e0adb351d40b68e9 3 months ago 872MB
- #可以对比下两个参数显示的不同信息
15、docker rmi
删除镜像
常用参数如下:
-f #强制删除
实例操作如下:
- [root@docker ~]# docker images |grep busybox
- REPOSITORY TAG IMAGE ID CREATED SIZE
- busybox v1.0 f4d667e471bc 12 minutes ago 1.22MB
- busybox latest db8ee88ad75f 4 months ago 1.22MB
- [root@docker ~]# docker rmi f4d667e471bc
- Untagged: busybox:v1.0
- Deleted: sha256:f4d667e471bc72c315bd889869fc1914936dfae2dedd2ce186ee06cad33bb4bd
- Deleted: sha256:d7fda98509933c5c8f3ee5f3e774c817edcc15ee38960c27a4d19eef44253708
- [root@docker ~]# docker images |grep busybox
- REPOSITORY TAG IMAGE ID CREATED SIZE
- busybox latest db8ee88ad75f 4 months ago 1.22MB
- #删除一个镜像
16、docker tag
标记本地镜像
实例操作如下:
- [root@docker ~]# docker images |grep busybox
- REPOSITORY TAG IMAGE ID CREATED SIZE
- busybox latest db8ee88ad75f 4 months ago 1.22MB
- [root@docker ~]# docker tag busybox:latest busybox:v2
- [root@docker ~]# docker images |grep busybox
- REPOSITORY TAG IMAGE ID CREATED SIZE
- busybox latest db8ee88ad75f 4 months ago 1.22MB
- busybox v2 db8ee88ad75f 4 months ago 1.22MB
- #从结果可以看出两个容器的ID是一样的,只是TAG改变了,类似于linux中文件与文件的硬链接一样,其两者的inode号相同。
17、docker build :
使用Dockerfile创建镜像
常用参数如下:
- -f #指定要使用的Dockerfile路径
- --label=[] #设置镜像使用的元数据;
- -m #设置内存最大值
- --memory-swap #设置Swap的最大值为内存+swap,"-1"表示不限swap
- --no-cache #创建镜像的过程不使用缓存
- --pull #尝试去更新镜像的新版本
- -q #安静模式,成功后只输出镜像ID
- --rm #设置镜像成功后删除中间容器
- --ulimit #Ulimit配置
- 实例操作如下:
- [root@docker ~]# docker build https://github.com/nginxinc/docker-nginx/
18、docker history
查看指定镜像的创建历史
常用参数如下:
-H #以可读的格式打印镜像大小和日期,默认为true;
--no-trunc #显示完整的提交记录;
-q #仅列出提交记录ID。
实例操作如下:
- [root@docker ~]# docker history busybox:latest
- IMAGE CREATED CREATED BY SIZE COMMENT
- db8ee88ad75f 4 months ago /bin/sh -c #(nop) CMD ["sh"] 0B
- <missing> 4 months ago /bin/sh -c #(nop) ADD file:9ceca008111a4ddff… 1.22MB
19、docker info
显示 Docker 系统信息,包括镜像和容器数
20、docker version
显示 Docker 版本信息
实例操作如下:
- [root@master ~]# docker version
- Client:
- Version: 18.06.1-ce
- API version: 1.38
- Go version: go1.10.3
- Git commit: e68fc7a
- Built: Tue Aug 21 17:23:03 2018
- OS/Arch: linux/amd64
- Experimental: false
- Server:
- Engine:
- Version: 18.06.1-ce
- API version: 1.38 (minimum version 1.12)
- Go version: go1.10.3
- Git commit: e68fc7a
- Built: Tue Aug 21 17:25:29 2018
- OS/Arch: linux/amd64
- Experimental: false
21、docker save
将指定镜像保存成 tar 归档文件
选项:
-o:输出到的文件
- docker save -o nginx.tar.gz nginx:latest
22、docker load
导入使用 docker save命令导出的镜像
选项:
--input , -i : 指定导入的文件,代替 STDIN。
--quiet , -q : 精简输出信息
docker学习笔记---基本命令的更多相关文章
- docker~学习笔记索引
回到占占推荐博客索引 使用docker也有段时间了,写了不少文章与总结,下面把它整理个目录出来,方便大家去学习与检索! docker~学习笔记索引 docker~linux下的部署和基本命令(2017 ...
- Docker学习笔记 — 配置国内免费registry mirror
Docker学习笔记 — 配置国内免费registry mirror Docker学习笔记 — 配置国内免费registry mirror
- docker学习笔记1 -- 安装和配置
技术资料 docker中文官网:http://www.docker.org.cn/ 中文入门课程:http://www.docker.org.cn/book/docker.html docker学习笔 ...
- Docker学习笔记之一,搭建一个JAVA Tomcat运行环境
Docker学习笔记之一,搭建一个JAVA Tomcat运行环境 前言 Docker旨在提供一种应用程序的自动化部署解决方案,在 Linux 系统上迅速创建一个容器(轻量级虚拟机)并部署和运行应用程序 ...
- Docker学习笔记 - Docker容器内部署redis
Docker学习笔记(2-4)Docker应用实验-redist server 和client的安装使用 一.获取redis容器(含客户端和服务端) 二.创建服务端容器 1.在终端A中运行redis- ...
- docker学习笔记(一)—— ubuntu16.04下安装docker
docker学习笔记(一)—— ubuntu16.04下安装docker 原创 2018年03月01日 14:53:00 标签: docker / ubuntu 1682 本文开发环境为Ubuntu ...
- Docker学习笔记总结
Docker学习笔记 https://yeasy.gitbooks.io/docker_practice/content/ 一 环境搭建 Ubuntu安装 .添加软件源的GPG密钥 curl -f ...
- docker学习笔记二:常用命令
docker学习笔记二:常用命令 查看docker常用命令 docker --help 返回结果如下: 其中常用的命令如下: 1.image相关操作 展示所有的image: 删除image: rmi ...
- docker学习笔记-1
docker学习笔记一:安装 mac安装docker docker官方文档上有这么一段话: Because the Docker daemon uses Linux-specific kernel f ...
随机推荐
- Git实战指南----跟着haibiscuit学Git(第一篇)
笔名: haibiscuit 博客园: https://www.cnblogs.com/haibiscuit/ Git地址: https://github.com/haibiscuit?tab=re ...
- 【Android - 控件】之V - SwipeRefreshLayout的使用
SwipeRefreshLayout是Android V4.V7包中的一个控件,是Google给我们提供的一个下拉刷新的布局控件,可以轻松完成下拉刷新. SwipeRefreshLayout的特点是其 ...
- 分发系统介绍、expect脚本远程登录、expect脚本远程执行命令、expect脚本传递参数
7月19日任务 20.27 分发系统介绍20.28 expect脚本远程登录20.29 expect脚本远程执行命令20.30 expect脚本传递参数 20.27 分发系统介绍 公司业务逐渐扩大时, ...
- ElasticSearch的API使用
前言:之前写过如何安装ElasticSearch(以下简称ES)以及简单的crud的使用实例的博客,不过ElasticSearch的版本变化太快,像之前的5.6版本使用的TransPortClient ...
- 56岁潘石屹生日当天宣布要学编程语言Python,网友:地产商来抢码农饭碗了!
最近在码农界里,一个比较轰动的事情,就是地产大佬潘石屹,在56岁生日当天宣布要学习编程语言Python. 可能部分老铁不认识潘石屹,简单介绍下大佬背景: 潘石屹,1963年11月14日出生于甘肃天水, ...
- 云享专家倪升武:微服务架构盛行的时代,你需要了解点 Spring Boot
[摘要] 微服务架构的本质在于分布式.去中心化. 随着互联网的高速发展,庞大的用户群体和快速的需求变化已经成为了传统架构的痛点. 在这种情况下,如何从系统架构的角度出发,构建出灵活.易扩展的系统来快速 ...
- docker的安装及常用命令
一:概述 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器或Windows 机器上,也可以实现虚拟化,容器是完全使用 ...
- 关于SQL Server 中日期格式化若干问题
select CONVERT(varchar, getdate(), 120 )2004-09-12 11:06:08 select replace(replace(replace(CONVERT(v ...
- IO 文件夹的拷贝
package FileCopy; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import ja ...
- POJ 3281 Dining(网络流-拆点)
Cows are such finicky eaters. Each cow has a preference for certain foods and drinks, and she will c ...