Docker-入门笔记

镜像

1.搜索下载镜像:


sudo docker search NAME[:TAG]
sudo docker pull NAME[:TAG]


2.查看镜像信息


sudo docker images //列出本地镜像
sudo docker tag //为本地镜像添加标签
sudo docker inspect //获取该镜像的详细信息

3.删除镜像


sudo docker rmi IMAGE[IMAGE...] //IMAGE可以为标签或者 ID
//要删除的镜像内必须没有正在运行的容器, 可加-f 强制删除

4.创建镜像


sudo docker commit //基于已有镜像的容器创建
可选项: -a,--author=""作者信息
-p,--pause=true 提交时暂停容器运行
-m,--message="" 提交消息
例如 sudo docker commit -m "A new image" -a "Json" ___容器 ID____ Test
sudo cat _____ |docker import - [NAME] //基于本地模板导入

5.存出和载入镜像


sudo docker save -o abc.tar abc //-o 指定保存的镜像归档。
sudo docker load --input abc.tar || sudo docker load < abc.tar

6.上传镜像


sudo docker push NAME

容器

1.创建容器


//创建+运行
sudo docker create -it IMAGE
docker start ID
//
sudo docker run -i -t IMAGE
//-i 让容器的标准输入保持打开,
//-t 让Docker分配一个伪终端并且绑定到容器的标准输入上

2.进入容器


sudo docker attach ID
//1.3版本后提供了更方便的工具 exec
sudo docker exec -it ID

3.删除容器


sudo docker rm ID
//-f 强制终止并删除一个运行中的容器
//-l 删除容器的连接,但保留容器
//-v 删除容器挂载的数据卷

4.导入和导出容器


//导出
sudo docker export ID >XXXX.tar
//导入
cat XXXX.tar | sudo docker import - NAME

仓库

创建和使用私有仓库
使用 registry 镜像创建私有仓库


sudo docker run -d -p 5000:5000 registry
//这样就会自动下载并且启动一个registry 容器,创建本地私有仓库

数据管理

1.数据卷


sudo docker run -d --name NAME -v /[数据卷存放地址]
//-v 可以在容器内创建一个数据卷

2.数据卷容器


//创建数据卷容器
sudo docker run -it -v /dbdata --name NAME IMAGE
//其他容器挂载 dbdata 容器中的数据卷
sudo docker run -it --volumes-from dbdata --name NAME IMAGE

3.利用数据卷容器迁移数据


//备份
sudo docker --volumes-from dbdata -v $(pwd):/backup --name NAME IMAGE tar cvf /backup/backup.tar /dbdata
//-v $(pwd):/backup 挂载本地的/backup到容器的 /backup目录
// tar cvf 将 dbdata 下的内容压缩到backup.tar


//恢复
//首先创建一个带有数据卷的容器
sudo docker run -v /dbdata NAME IMAGE
//创建新的容器挂载数据卷,解压
sudo docker run --volumes-from DBNAME -v $(pwd):/dbdata busybox tar xvf /backup/backup.tar

网络基础配置

1.端口映射实现访问容器