程序员

docker常用命令

2016-08-04  本文已影响0人  _一叶_

docker常用命令

0. 上传下载

docker search 192.168.2.55:5000/      //查询
docker pull 192.168.2.55:5000/ubuntu  //拉取镜像
docker push 192.168.2.55:5000/ubuntu  //上传镜像

使用国内mirror镜像加速:在/etc/sysconfig/docker的options中添加--registry-mirror=镜像地址,然后重启docker

1. 启动和终止

docker run -d 192.168.2.55:5000/rabbitmq //通过镜像创建容器然后启动, -d从后台启动
docker start CONTAINER_ID //启动已停止的容器
docker attach CONTAINER_ID //进入-d后台启动的容器,但是多个窗口进入同一个容器时,其中一个阻塞所有窗口都会阻塞,所以使用下面的命令更好
docker exec -it CONTAINER_ID /bin/bash
docker stop CONTAINER_ID //停止容器
docker rmi //移除不要的镜像
docker rm CONTAINER_ID //移除处于终止状态的容器
docker rm $(docker ps -a -q) //清理所有处于终止状态的容器

2. 存出载入

docker save -o xxx.tar IMAGE //存出镜像到xxx.tar
docker load -i xxx.tar //从xxx.tar载入镜像
docker export ID > NAME.tar  //导出容器快照
docker import URL REPO //导入容器快照
//load和import都可导入,但是快照将丢弃所有的历史记录和元数据,而镜像将保存完整记录,体积也要大些

3. 数据卷

  1. -v挂载数据卷,特殊的目录,容器间共享数据,备份/恢复/迁移
  2. 关于数据卷容器:数据容器的概念已经过时了。这是在没有docker volume的时代的东西,那个时候卷是匿名的,所以要指定某个卷,就必须连带指定其挂载容器。所以用—volumes_from的的形式来挂载某些卷。现在不需要,定义命名卷,直接挂就行,不需要额外再去建立个傻容器。

4. 网络

1) 启动容器的时候指定端口

 -p ip:hostPort:containerPort | ip::containerPort | hostPort:containerPort 

-P大写 会随机49000~49900一个到容器内部开放的端口

docker port //查看当前镜像映射的端口

2) 容器互联(安全)

启动时通过别名连接,启动时以--name为容器标记名字,--link连接。仅在单台主机使用
其实:是在连接者的path和hosts中添加了被连接者的ip 端口等

3) docker的几种网络模式

5. 私有仓库

拉取Docker hub上面的registry镜像,然后在本地启动并映射出端口即可,验证是否搭建成功:

[root@localhost ~]# 
curl 127.0.0.1:5000/v1/search
curl 139.168.2.55:5000/v2/_catalog
//输出:
{"num_results": 1, "query": "", "results": [{"description": "", "name": "library/ssh"}]}

客户端访问私有仓库时需要添加http支持:

[root@localhost ~]# vim /etc/sysconfig/docker
//修改此行
OPTIONS='--selinux-enabled --insecure-registry 192.168.2.55:5000'
[root@localhost ~]# service docker restart
Redirecting to /bin/systemctl restart  docker.service

清除私有仓库镜像:
curl -X DELETE http://192.168.2.55:5000/v1/repositories/centos/tags/latest
实际上,物理上叠加的镜像层是不会删除的,就是说通过这个url删除的只是对应的镜像信息,而不是实际的镜像。目前只有使用一些第三方脚本工具来删除真正的镜像:
私有库版本v2可以参考 https://github.com/burnettk/delete-docker-registry-image

7. 创建镜像

8. 常见错误

docker daemon 无法启动(删除前记得备份数据哦)

rm -rf /var/lib/docker/*

找不到配置文件(v1.11.0)

参考:http://www.itnpc.com/news/web/145083113731628.html


上一篇下一篇

猜你喜欢

热点阅读