Docker 常见命令
基本命令 | 参数 | 说明 | 举例 |
docker pull 镜像:latest | 从镜像库中下载镜像 | ||
docker images | 列出所有下载的镜像 | ||
docker run | 以该镜像创建一个容器,并尝试执行相关命令 | ||
--rm | 一旦进程退出见删除容器 | ||
-ti | 分配一个终端,并进入交互模式 | docker run --rm -ti ubuntu /bin/bash | |
-d | 后台运行 | docker run -d ubuntu ping 8.8.8.8 (输出分配的id) | |
docker ps | -a | 查看所有的 docker 进程 | |
docker exec | 进入容器 | docker exec -ti loving_mcclintock /bin/bash (进入容器,并且以bash模式查看) | |
docker build PATH/URL | 设置 Dockerfile上下文,一般设置空(.)为上下文 | ||
-f | 指定任何地方的 Dockerfile 文件(一般在放在当前目录,所以不需要设置) | docker build -f /path/to/a/Dockerfile . | |
-t | 指定新镜像的要存放的标签或者仓库 | docker build -t shykes/myapp . |
---------------------------------------------------------------------------------
Docker
什么是 Docker?
Docker 是一个管理容器的工具。不是一门技术,它是一个工具或者平台。
简化了现有的技术,让masses更易于使用。
进程隔离运行,共享核心。
每个容器 isolated view(有自己的命名空间)
隔离包括 pid user uts net ipc cgroup等
基本操作
运行一个容器
docker run ubuntu echo hello,world
查看历史
docker ps -a
运行一个bash
docker run -ti ubuntu bash
docker 应用场景
简单实例
docker run -v ${pwd}:/src -w /src golang go build....
其中,-v 是挂载本地目录,-w是挂载到容器目录。
Dockerfile
简单实例
FROM ubuntu
ADD myapp /
EXPOSE 80
ENTRYPOINT /myapp
docker build -t myapp .
docker run -tidP myapp
docker ps -a
Dockerfile 中使用 FROM scratch,可以大大减少容器的大小。
docker images|grep myapp 查看容器大小
转义字符(escape character)
默认的转义字符是 "\",在windows中可以设置为 "`",比如:
# escape=` (backtick)
在docker中,转义字符有两个作用:转义普通字符和换行(在末尾的“\"被视为换行)
比如:
FROM microsoft/nanoserver
COPY testfile.txt c:\\
RUN dir c:\
输出结果是
PS C:\John> docker build -t cmd .
Sending build context to Docker daemon 3.072 kB
Step 1/2 : FROM microsoft/nanoserver
---> 22738ff49c6d
Step 2/2 : COPY testfile.txt c:\RUN dir c:
GetFileAttributesEx c:RUN: The system cannot find the file specified.
PS C:\John>
解决方法,设置别的转义字符
# escape=`
FROM microsoft/nanoserver
COPY testfile.txt c:\
RUN dir c:\