-
Notifications
You must be signed in to change notification settings - Fork 1
Home
*本文主要为个人在使用Docker过程中的常用命令和一些常见的问题
- 如果您在阅读过程发现有错误或者疑惑,欢迎一起交流
- QQ群:321380754
- 邮箱: luomgf@163.com
- 作者:罗明刚
- wiki:Docker常用命令及FAQ
设置自动启动:chkconfig docker on
启动Docker服务:/bin/systemctl start docker.service
docker命令复杂,好多命令行选项都是前后相关的,目前docker命令自动补全主要使用基于python 语言开发的Dockercli,安装也cli非常方便,使用pip即可,pip install dockercli,一旦进入 cli命令行,则后续的命令不需要再加前缀docker。
使用:$./dockercli
dockercli>ps -all
镜像获取在docker中叫docker pull,即镜像拉取。默认docker拉取latest的镜像,如果 不知到是否存在建议先search搜索一下看是否存在镜像
docker pull [ [index.docker.hub][:80]/ ] <[latest][:tag]>
docker pull redhat
docker pull 192.168.91.100:5000/ubuntu:luomg
baseimage
oracle image
CentOS 6.5 Docker自制CentOS镜像
Daocloud目前主要用于提供镜像下载加速功能,暂为发现提供上传功能 DaoMirror采用Docker官方镜像技术,结合国内CDN网络,为开发者提供透明和高速的Docker Hub镜像下载解决方案
- -a 指定更新的用户的信息
- -m 指定提交注释
- -h,--help 打印帮助信息
- --add-registry=[]
- --api-cors-header="" 设置远程调用域头。默认禁止。提供的url类似http:/foo,fttp://bar
- -b,bridge="" 设定容器的的网络,桥接到一个已经存在的网络上面,默认为空,禁止桥接网络
- --bip=""
- -t 指定tag信息,e.g: -t="ubuntu/12.04:luomg"
*从Dockerfile编译创建新的镜像,并返回ID,如果中途出错会返回,并暂存当前状态,再次启动从错误处开始,更多帮助:
*更多帮助信息:docker build --help
*< file.tar
端口映射
Dockerfile 使用Dockerfile编译镜像 docker build -t="ubuntu/12.04:luo" ./ #cat ./luo/Dockerfile #this is comment
FROM ubuntu:12.04 MAINTAINER Docker luomgf luomgf@163.com #维护者信息 RUN apt-get -qq update #创建时执行安装 RUN apt-get -qqy install ruby ruby-dev RUN gem install sinatra
ADD add_myfile /var/www
EXPOSE 80
CMD ["/usr/sbin/apachectl","-D","FOREGROUND"]
1、从运行中的系统构建镜像,
基于已有的镜像
1.1、load
load --input file.tar 载入文件到镜像
< file.tar
1.2、impot
cat ubuntu.tar | sudo docker import - test/ubuntu:v1.0
自己构造符合fhs的rfs base image
1.3、debootstrap[ubuntu],febootstrap[fedora]
debootstrap trusty trusty > /dev/null
tar -C trusty -c . | sudo docker import - trusty
1.4、Scratch
tar cv --files-from /dev/null | docker import - scratch
1.5、纯手工打造
a、将更目录下的的文件除proc boot 拷贝到新目录,chroot进入目录,打为tar包-->生成image
b、用现有的基础镜像save xxx.tar ,解压chroot进入,安装相关软件,再打包,再导入
1.6、基于openvz导入
[openvz模版下载站点](https://openvz.org/Download/template/precreated)
[openvz模版下载站点-国内镜像](http://mirrors.ustc.edu.cn/openvz/)
[docker官网构建脚本](https://github.com/docker/docker/tree/master/contrib)
2、基于镜像服务器构建镜像
2.1、从dockerhub.io
2.2、从代理服务器构建镜像,如:DaoCloud
### 镜像推送
1、推送到中央服务器
1.1、推送到docker hub
http://m.blog.chinaunix.net/uid-20788636-id-5049772.html
1.2、
私有仓库的构建
创建
docker run -d -p 5000:5000 -v /root/my_registry:/tmp/registry registry
默认通过registry镜像来实现,且镜像挂载在容器的/tmp/registry目录,这个地方通过-v实现数据共享
push
docker push 104.131.173.242:5000/ubuntu_sshd_gcc_gerry:14.04
pull
docker pull 104.131.173.242:5000/ubuntu_sshd_gcc_gerry:14.04
search
curl http://104.131.173.242:5000/v1/search
https问题
修改Docker配置文件
vim /etc/default/docker
增加以下一行
DOCKER_OPTS="$DOCKER_OPTS --insecure-registry=104.131.173.242:5000"
重启Docker
sudo service docker restart
refer: http://dockerone.com/question/21
- QQ群:321380754
- 作者:罗明刚