镜像
Pull
1 | docker pull ubuntu |
查看已有镜像
1 | docker images |
Tag
1 | docker tag ubuntu:14.04 ubuntu:14.04.1 |
详情
1 | docker inspect 镜像ID |
删除
1 | docker rmi 镜像名称 |
搜索
1 | docker search TERM # 搜索某个镜像 |
镜像导出
1 | docker save –o ubuntu_14.04.tar ubuntu:14.04 |
载入镜像
1 | docker load < ubuntu_14.04.tar |
定制
在run ubuntu镜像,并修改配置后执行以下指令
1 | docker commit -m "my ubuntu" -a "Docker Newbee" 容器ID MyUbuntu:tag |
其中
1 | -a # 作者消息 |
上传
默认传到DockerHub
1 | docker push user/test.latest |
导入本地镜像
1 | cat xxx.tar.gz |docker import – ubuntu:14.04 |
容器
创建
1 | docker create –it ubuntu:latest |
Run
1 | docker run -it docker.example.com.cn:5000/official/ubuntu:14.04.5 /bin/bash |
i
表示让容器的标准输入保持打开,t
表示让docker分配一个伪终端并绑定到容器的标准输入上
退出
容器变为死亡态
1 | exit |
或者
容器仍在运行
1 | Ctrl+D |
守护态
运行容器(d-daemonized)
1 | docker run -d ubuntu bash" |
查看
1 | docker ps # 正在运行的容器 |
LOG
1 | docker logs 容器ID |
停止
1 | docker stop 容器ID |
1 | docker kill $(docker ps -q) |
停止所有正在运行的容器
开始
1 | docker start 容器ID |
重启
1 | docker restart 容器ID |
进入正在运行的容器
1 | docker exec -ti 容器ID [命令] |
删除容器
1 | docker rm 容器ID |
导入导出
1 | docker export CONTAINER |
数据卷
在容器内创建数据卷
1 | docker run -d -P --name hehe -v /hehe python:2.7.13 python /test/py/py1.py |
将本机目录挂载到容器目录中
1 | docker run -d -P --name py -v /home/ubuntu/docker/py:/test/py python:2.7.13 python /test/py/py1.py |
其中-P
允许外部访问容器需要暴露的端口,-v
为挂载/home/ubuntu/docker/py:/test/py 本机目录:容器目录
数据卷容器(任意一方修改目录,其他人均能看到)
1 | docker run -idt -v /dbdata --name dbdata ubuntu:14.04.5 |
网络基础配置
端口映射
1 | docker run -d -P python:2.7.13 python while.py |
容器互联
1 | docker run -d -P --name web --link db:db python:2.7.13 python while.py |
其中--link
格式为 name:alisa
name
为要链接的容器的名称 alias
为链接的别名
Docker Proxy
Ubuntu16.04
1 | mkdir /etc/systemd/system/docker.service.d |
1 | [Service] |
1 | systemctl daemon-reload |
Ubuntu14.04
1 | vim /etc/default/docker |
添加如下内容
1 | export http_proxy="http://proxynj.example.com.cn:80/" |
1 | service docker restart |
Red Hat
1 | vim /etc/sysconfig/docker |
1 | http_proxy=http://proxynj.example.com.cn:80/ |
1 | service docker restart |
Docker Hub
1 | curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://a6841873.m.daocloud.io |
Docker运行GUI软件
jessfraz’s Blog: Docker Containers on the Desktop