1. centos7中安装docker :
yum -y update
yum -y install docker-engine
2. docker添加用户 :
usermod -aG docker [uname]
3. docker镜像 :
docker images // 查看本地镜像
docker inspect [image] // 详细信息
docker search [image] // 搜索镜像
docker pull [image] // 获取镜像
docker tag [image] [alias] // 加标签
docker history [image] // 镜像历史
docker rmi [image/id]
// 删除镜像
docker save -o ...tar [image] // 导出
docker load < ...tar // 载入
docker push [image]
// 上传
创建镜像 :
1. 基于已有容器创建 :
docker commit [container/id] [newname]
2. 基于本地模板导入 :
cat ..tar.gz | docker import - [newimagename]
3. dockerfile创建 :
1. 创建dockerfile :
FROM
MAINTAINER
RUN
CMD
...
2. docker build -t [imagepath] [dockerfilepathdir]
4. docker容器 :
docker create -it [image]
// 创建容器
docker start [container/id] // 启动容器
docker restart [container/id] // 重启容器
docker ps -qa
// 查看所有容器id
docker ps -a
// 查看容器
docker ps
// 查看运行中的容器
docker run [image]
// 新建并启动容器
docker logs [container/id] // 容器输出信息
docker stop [container/id] // 终止容器
docker rm [container/id] // 删除容器
docker export -o ...tar [container/id] // 导出容器
docker import ...tar - [container/id] // 导入容器
docker exec -it [container/id] /bin/sh // 进入容器
docker run -d [image] /bin/sh -c "while true; do echo hello world; sleep 1; done" // 以守护态运行
5. 镜像仓库 :
1. 下载镜像 :
docker pull [image] // 从hub中下载
docker pull index.tenxcloud.com/docker_library/[image] // 从时速云下载
2. 私有仓库 :
docker run -d -p 5000:5000 -v /opt/data/registry:/tmp/registry registry // 创建本地仓库 镜像文件放在本地/opt/data/registry
docker push ip:5000/[image] // 上传镜像到私有仓库
curl http://ip:5000/v1/search // 查看私有仓库中的镜像
DOCKER_OPTS="--insecure-registry ip:5000" // 关闭私有仓库的安全检查
6. docker数据管理 :
1. 数据卷 :
docker run -d -p 3306:3306 -v /src/webapp:/opt/webapp [image] // 加载主机的/src/webapp到容器的/opt/webapp, 推荐挂载目录
2. 数据卷容器 :
docker run -it -v /dbdata --name dbdata [osimage] // 创建数据卷容器
docker run -it --volumes-from dbdata --name db1 [image] // 挂载数据卷容器
docker run --volumes-from dbdata -v $(pwd):/backup --name worker [osimage] tar cvf /backup/backup.tar /dbdata // 备份
docker run -v /dbdata --name dbdata2 [osimage] /bin/sh // 创建一个数据卷容器
docker run --volumes-from dbdata2 -v $(pwd):/backup busybox tar xvf /backup/backup.tar // 恢复数据
7. 网络互连 :
1. 端口映射访问容器 :
docker run -p 5000:5000 [image]
// 映射端口
docker run -p ip:port:port [image] // 映射指定地址的端口
docker logs -f nostalgic_morse // 查看应用信息
docker port nostalgic_morse 5000 // 查看映射端口配置
2. 容器互连 :
docker run -d -p 5000:5000 --name web --link [containertoconnect]:[containeralias] [image]
在web的/etc/hosts文件中查看互连信息