基础命令
- docker版本安装
docker –version :查看docker安装版本
docker run -d -p 80:80 –name webserver nginx :运行nginx服务
docker stop webserver :停止nginx服务器
docker rm webserver :删除nginx容器
service docker restart:重启docker服务
离线镜像安装
cat ubuntu-14.04-x86_64.tar.gz |docker import - ubuntu:ubuntu14
获取镜像
docker pull –help:查看获取镜像的方式
docker pull [option] [docker registry地址] <仓库名>:<标签> :{option可省略},{docker registry地址一般方式是:<域名/IP>[:端口号],默认是docker hub},{仓库名,默认是library官方镜像} - 启动镜像
docker run -it –rm ubuntu:14.04 bash :启动里面的bash 并进行交互式操作。
exit:退出容器
-i :交互式操作
-t :终端
–rm:容器退出后将其删除
ubuntu:14.04:指定其为基础镜像启动
bash:放在镜像名后面的是命令,此时希望有个交互式shell,进入容器后可以在shell下操作 - 列出镜像
docker images :列出所有顶层镜像
没有仓库名没有标签的镜像为:虚悬镜像
docker images -f dangling=true :显示虚悬镜像
docker rmi $(docker images -q -f dangling=true) :删除虚悬镜像
docker images -a :列出所有镜像,包括中间层镜像,中间层镜像:其它镜像依赖的镜像
docker images ubuntu :列出仓库名为ubuntu的镜像
docker images ubuntu:14.2
docker images -f since=registryName:tag :在registryName:tag之后建立的镜像,之前用:before。
-f :过滤
如果构建镜像时使用了LABLE,则可以用label来过滤
docker images -f label=
特定格式显示查询出的镜像
docker images -q :把镜像的id列出来
docker images –format “{ {.ID}}:{ {.Repository}}” :列出id和仓库名称,以冒号分割
docker images –format “{ {.ID}}\t{ {.Repository}}\t{ {.Tag}}” :列出id和仓库名称和tag,以空格分割 - 定制镜像
docker run -d -p 80:80 –name webserver nginx :用nginx镜像启动一个容器,命名为webserver,并且映射了80端口
docker run -d -p 81:80 –name webserver nginx :用nginx镜像启动一个容器,命名为webserver,并且映射了81端口
docker exec -it webserver bask :docker exec 命令以交互终端的模式进入容器并执行bash命令,也就是获得一个可操作的shell,此时可以改动容器内容(实际修改容器的存储层)
docker diff webserver :查看容器的具体改动
docker commit [选项] <容器id或者容器名> [<仓库名>]:[<标签>]。:没使用卷或宿主内存,容器中的修改都存在于容器的存储层,通过commit可以将容器的存储层保存下来成为镜像
{在原有镜像的基础上加上容器存储层形成新的镜像}
示例:
docker commit \
–author “zhaoning” \
–message “修改了啥” \
容器名称 \
:
说明:
–author:指定修改人
–message:修改内容
docker history : :查看镜像内的历史记录.{是与:比较}
Dockerfile编写
说明:Dockerfile中每条指令都会构建一层
1. FROM
FROM :制定基础镜像
scratch :表示空白镜像,以空白镜像为基础的镜像,将第一个命令作为第一层开始存在
示例:FROM scratch
2. RUN
RUN执行指令
shell格式:RUN <命令>
exec格式:RUN [“可执行文件”,”参数1”,”参数2”]
多个指令串联:
RUN cmd1 \
&& cmd2 \
$$ cmd3 \
&& cmd4
或者可以在命令中定义变量:
RUN name=”” \
&& cmd1 \
&& cmd2 \
&& cmd3 $name
使用Dockerfile构建镜像
在Dockerfile所在的目录执行如下命令;
docker build -t : .
. :指定镜像构建上下文路径
docker build 实际是在docker引擎进行构建
docker build http://github.xa.com/xa/iM6000s.git#:8.14 :指定了构建所需的git repo,并且指定默认的master分支,构建目录为/8.14/,然后docker会自己去git clone这个项目、切换到指定分支、并进入到指定目录开始构建
docker build http://server/context.tar.gz :docker引擎会下载这个包,自动解压,然后以其作为上下文,开始构建
简单快速构建(从标准输出):
docker build - < Dockerfile
或
cat Dockerfile|docker build -
从标准输入中读取上下文压缩包进行构建
docker build - < context.tar.gz :直接将其作为上下文进行构建
3. COPY <

本文详细介绍了Docker的各种操作命令,包括基础命令如安装、启动和停止服务,离线镜像安装,镜像管理和启动,以及Dockerfile的编写,容器操作,数据卷管理和Docker网络功能。通过示例展示了如何使用Docker构建、启动、定制镜像,以及如何在容器间共享数据和设置网络连接。此外,还提到了数据卷容器的使用,以及高级网络配置,如容器互联和端口映射。
最低0.47元/天 解锁文章
1454

被折叠的 条评论
为什么被折叠?



