docker 笔记
2019-11-13 本文已影响0人
garyhu1
1、进入到运行的docker容器中
docker exec -it containerID(容器id) /bin/bash
# -i: 交互式操作
# -t: 终端
# /bin/bash: 放在容器后的是命令,这里我们希望有个交互式的shell,因此用的是'/bin/bash'
要退出终端使用
exit
2、根据Dockerfile创建镜像
docker build -t nginx:newContainer .
## -t 是给镜像命名
## . 是基于当前目录的Dockerfile来构建镜像
3、查找docker.hub上的镜像
docker search imageID
4、拉取镜像
docker pull imageID
5、上传镜像到docker.hub
# 登录
docker login
# 输入用户密码即可
# 重新设置tag
docker tag oldImage username/oldImage
# 上传镜像
docker push username/oldImage
6、创建并启动容器
docker run -it -p 9000:80 --name newContainerName imageName /bin/bash
# -i: 交互式操作
# -t: 终端
# -p: 指定端口映射(-P随机映射到主机的高端口)
# --name: 给容器命名
# /bin/bash: 放在容器后的是命令,这里我们希望有个交互式的shell,因此用的是'/bin/bash'
1、可以使用
exit
退出交互
2、其中-it
可以替换成-d
,-d
:表示后台运行
7、容器操作命令
# 1、启动停止的容器
docker start containerID
# 2、停止运行的容器
docker stop containerID
# 3、查看容器
docker ps -a : 查看所有的容器(包含停止的容器)
docker ps : 只查看正在运行的容器
# 4、重启容器
docker restart containerID
# 5、删除容器
docker rm (-f) containerID
# 6、删除所有容器
docker rm -f $(docker ps -a -q)
# 7、强制删除容器
docker kill containerID
8、镜像命令
# 1、查看镜像
docker images
# 2、删除镜像
docker rmi imageName
# 3、删除所有镜像
docker rmi -f $(docker images)
9、导出容器
docker export -o nginx-demo.tar nginx-demo
或
docker export > nginx-demo.tar nginx-demo
# `-o`或`>` : 表示输出到文件
# `nginx-demo.tar` : 目标文件
# `nginx-demo` : 源容器名(使用容器id也可以)
10、导入容器
docker import nginx-test.tar nginx:imp
或
cat nginx-test.tar | docker import - nginx:imp
或
docker import http://example.com/demo.tar/repository
# `nginx-test.tar` :导入的源容器包
# `nginx:imp` : 导入后生成的容器名
11、导出镜像
docker save -o nginx.tar nginx:latest
或
docker save > nginx.tar nginx:latest
# `-o`和`>` : 表示输出到文
# `nginx.tar` : 为目标文件
# `nginx:latest` : 是源镜像名(name:tag)
12、导入镜像
docker load -i nginx.tar
或
docker load < nginx.tar
# `-i`和`<` : 表示从文件输入。会成功导入镜像及相关元数据,包括tag信息
13、export 和 save区别
- export命令是从容器(container)中导出tar文件,而save命令则是从镜像(images)中导出
- 基于第二点,export导出的文件再import回去时,无法保留镜像所有历史(即每一层layer信息,不熟悉的可以去看Dockerfile),不能进行回滚操作;而save是依据镜像来的,所以导入时可以完整保留下每一层layer信息。如下图所示,nginx:latest是save导出load导入的,nginx:imp是export导出import导入的。
![](https://img.haomeiwen.com/i3372617/ccddd272086241c0.png)