# docker小记
# 工具准备
- docker Hub官网传送门
- 在线的版Docker-Playground传送门每次申请使用免费4小时,下次用在进行申请
# 开始使用Docker-Playground
- 点击 ADD NEW INSTANCE
# 常用命令
# pull 拉取镜像
- 拉去镜像
docker pull nginx
1
- 也可指定版本,如果不指定版本,默认pull最新版
docker pull nginx:latest
1
# images 查看镜像
- 查看镜像
docker images
1
# run 运行镜像
-d
指定docker镜像后台运行-p
指定端口映射 -p 80:80--name
指定运行后的容器的名字-v
指定外部和容器内部的文件映射pwd
:/xx/xxx--link
将一个容器的地址写入另一个容器的hosts
文件中,就可以通过名称访问了,使用方式 --link 其他容器的名字名:本容器写入hosts文件和ip对应的名字 ,eg: --link nginx1:nginx1
docker run
+一些列参数
+需要运行的镜像名
docker run -d -p 80:80 nginx
1
- 同一个镜像可以启动很多个,本地映射端口不重复即可
# ps 查看正在运行的容器
docker ps
1
- 输出如下
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
d97bf784fa0d nginx "/docker-entrypoint.…" 57 seconds ago Up 56 seconds 0.0.0.0:80->80/tcp beautiful_proskuriakova
1
2
2
# exec 修改容器内容
docker exec
+ 参数 + 通过ps查看的容器ID
docker exec -it d97bf784fa0d bash
1
# commit 创建新容器
docker commit <已存在容器的containerID> <镜像名>
docker commit d9 test
1
- 此时我们在执行
docker images
就会发现有两个容器一个是之前的nginx
还有一个我们本地提交的test
# rm 删除镜像
-f
强制删除docker rm -f
+ 容器ID
docker rm -f d97bf784fa0d
1
# build 生成容器
- 首先要新建一个
Dockerfile
文件
vim Dockerfile
1
- 在里面写入
FROM nginx
ADD ./ /usr/share/nginx/html
1
2
2
- 退出并保存
- 在本地新建一个
index.html
vim index.html
1
- 随便写入些内容
- 此时我们就可以使用
docker build
命令来生成容器 docker build -t <指定容器名> <指定要执行那个目录下的Dockerfile文件>
docker build -t test2 .
1
# tar 归档docker容器
docker save <已有的容器镜像名> > <指定文件名>
docker save nginx > nginx.tar
1
# load 启用已经归档的容器镜像
docker load < <被归档的容器镜像>
docker load < nginx.tar
1
# docker-compose
- 后面补充
← nginx小记 node JWT鉴权小记 →