1.安装的docker版本
1 | docker -v |
2.查看本地的镜像
1 | docker images |
3.拉取镜像
1 | docker pull centos:7 |
4.编写Dockerfile
1 | FROM nginx |
5.build Dockerfile
1 | docker build -t . xxx # 镜像的名字 |
或者
1 | docker build -f ./Dockerfile . -t xxx:xxxx |
bash
1 | docker run -i -t ubuntu:15.10 /bin/bash |
将容器中的8080端口映射到本机的18080端口
1 | docker run -p 18080:8080 -it xxxx:v1.0.0dev /bin/bash |
如果是多个端口,使用多个-p
1 | -p 18080:8080 -p 18081:8081 |
参数
1 | -it:这是两个参数,一个是 -i:交互式操作,一个是 -t 终端。我们这里打算进入 bash 执行一些命令并查看返回结果,因此我们需要交互式终端。 |
6.运行
1 | docker run xxx # 镜像的名字 |
7.查看自己镜像的id
1 | docker ps |
8.列出所有的容器,包括exit状态的容器
1 | docker ps -a |
9.查看内网ip地址等运行情况
1 | docker inspect id | grep IP |
9.请求nginx
1 | curl 172.17.0.5:80 |
10.如果想要镜像不退出,然后进行镜像中
1 | # run |
sleep.sh内容
1 | #!/usr/bin/env bash |
或者
1 | ENTRYPOINT ["/bin/bash","-c","while true; do sleep 10000; done"] |
然后执行
1 | docker run --network=host xxxx |
查看id
1 | docker ps |
进入镜像中
1 | docker exec -it xxxx bash |
11.删除container,先停再删
1 | docker stop 3f6822d8f262 |
12.使用docker命令从pod向宿主机拷贝文件
1 | docker cp pod_id:/tmp/abc /tmp/ |
使用docker命令从宿主机向pod中拷贝文件
1 | docker cp ./xx-xx pod_id:/home/xxx |
13.mac使用docker的时候配置仓库
1 | https://registry.docker-cn.com |

注意:mac版本docker升级到高版本后Daemon选项没了,需要在docker engine中填写json配置

14.ubuntu配置docker仓库,在/etc/docker目录下新建daemon.json,内容
1 | { |
重启docker服务
1 | sudo systemctl restart docker |
15.查看docker的磁盘使用情况
1 | lintong@master:~$ docker system df |
清理磁盘,删除关闭的容器、无用的数据卷和网络,以及dangling镜像(即无tag的镜像)
1 | docker system prune |
如果有2个镜像的id相同,则删除的时候会报
1 | docker rmi 85f602b72c3c |
此时应该找到2个id相同的镜像,然后一个个进行删除
1 | docker images | grep 85f602b72c3c |
删除第一个
1 | docker rmi xxxxx:v0.9.1 |
再删除另一个
1 | docker rmi 85f602b72c3c |
1 | 1.不要在容器中存储数据 – 容器可能被停止,销毁,或替换。 |
参考:10 things to avoid in docker containers
16.docker设置时区
1 | ENV TZ=Asia/Shanghai |
17.ubuntu镜像换源
1 | RUN sed -i s@/archive.ubuntu.com/@/mirrors.aliyun.com/@g /etc/apt/sources.list && \ |