Docker笔记
可以粗糙的理解为轻量级的虚拟机,把程序放在单独的环境中运行
http://www.ruanyifeng.com/blog/2018/02/docker-tutorial.html
update:K8s的pod才可以理解为虚拟机,容器其实就是一个进程,被修饰过,有点特殊的进程。
命令
docker pull
获取image
docker build
创建image
docker images
列出image
docker run
运行container,跑一个项目1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 docker run \
--name ${pjName} \
# 容器名
--rm \
# 停止运行后自动删除当前容器
-ti \
# t for terminal,i for interact
-v $$(pwd):/var/www/html \
# 映射当前目录到容器指定目录
-p 3000:3000 \
# 映射端口到容器端口
mooxe/node \
/bin/bash
# 额外加一个命令,只能加一个
# 这是运行bash shell
docker ps
列出container,项目们
-a
列出隐藏的
docker rm
删除container
docker rmi
删除image
docker cp
在host和container之间拷贝文件
docker commit
保存改动为新的image
dockerfile
FROM: base image
RUN: 执行命令
ADD: 添加文件
COPY: 拷贝文件
CMD: 执行命令,打包完成之后
EXPOSE: 暴露端口
WORKDIR: 指定路径
MAINTAINER: 维护者
ENV: 设定环境变量
ENTRYPOINT: 容器入口
USER: 指定用户
VOLUME: mount point
1 | # 可以指定依赖的node镜像的版本 node:<version>,如果不指定,就会是最新的 |
1 | touch Dockerfile |
使用docker步骤
安装docker
下载镜像
1 | <!-- 拉取镜像 --> |
创建镜像
docker commit将指定容器保存为新的镜像1
2docker commit <Container ID> <Name>:<Tag>
docker commit fldhsa5342hkjhs bitcoin:0.1
根据dockerfile创建镜像1
docker build -t imagename .
生成容器
image 文件生成的容器实例,本身也是一个文件,称为容器文件。也就是说,一旦容器生成,就会同时存在两个文件: image 文件和容器文件。而且关闭容器并不会删除容器文件,只是容器停止运行而已。1
2
3
4
5# 运行镜像
docker run -p 8000:3000 -it koa-demo:0.0.1 /bin/bash
# 删除容器
docker rm [containerID]
- -p参数:容器的 3000 端口映射到本机的 8000 端口。
- -it参数:容器的 Shell 映射到当前的 Shell,然后你在本机窗口输入的命令,就会传入容器。
- koa-demo:0.0.1:image 文件的名字(如果有标签,还需要提供标签,默认是 latest 标签)。
- /bin/bash:容器启动以后,内部第一个执行的命令。这里是启动 Bash,保证用户可以使用 Shell。
保存镜像
文章标题:Docker笔记
本文作者:Benny
发布时间:2020-06-08, 19:49:32
最后更新:2019-10-10, 16:21:00
原始链接:https://benny233.github.io/2020/06/08/Docker笔记/版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。