docker使用说明
一、 安装
1. 安装docker依赖库:
2. 安装docker:
3. 将当前用户加入到docker组: gpasswd -a dengpeng docker
4. 配置docker服务:
vim /lib/systemd/system/docker.service
修改ExecStart=/usr/bin/docker-d --insecure-registry <ip>:5000 -H fd://
5. 重新启动docker服务: service docker restart
6. 当前用户重新登录可使用docker指令
二、 创建镜像仓库
1. 下载镜像仓库:
docker pull registry
2. 防火墙添加运行端口:
iptables -I INPUT 1 -p tcp --dport 5000 -jACCEPT
3. 启动仓库镜像:
docker run -d -p5000:5000 --privileged=true -v /opt/registry:/tmp/registry registry
说明:-d 代表后台运行
-p 映射端口 把主机的端口映射到docker的端口上
--privileged=true CentOS7中的安全模块selinux把权限禁掉了,参数给容器加特权,不加上传镜像会报权限错误
-v 映射目录 默认情况下,会将仓库存放于容器内的/tmp/registry目录下,指定本地目录挂载到容器
三、 创建和删除镜像
1. 创建一个Dockerfile文件:
2. 生成镜像:
使用当前目录的Dockfile新建docker镜像:docker build -t <image_name>.
说明:Dockerfile要在当前目录,如果是源码安装,安装所需要的包也要在Dockerfile的当前目录
3. 删除镜像:
Docker rmi –f <image_id>
说明:-f 是强制删除
四、 导出和导入镜像
1. 导出
docker save <image_id>> <image_name>.tar
2. 导入
docker load < <image_name>.tar
3. 设置标签
导入后名字和标签都是空的,需要用docker tag <image_id> <image_name>:<tag>
五、 上传镜像到registry仓库
1. 修改docker镜像名字使之与registry匹配:
docker tag <image_id>< ip>:5000/<image_name>
2. 上传镜像到registry:
docker push <ip>:5000/<image_name>
六、 下载镜像到本地
1. 查看仓库的镜像
curl http://<ip>:5000/v2/_catalog
2. 拉取镜像
docker pull <ip>:5000/<image_name>
七、 操作docker
1. 启动docker 容器
说明:-i: 以交互模式运行容器,通常与 -t 同时使用
-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用
--name:启动后docker的名字
-p:docker映射主机端口
-e:使用环境变量
-v:docker映射主机目录
最后是镜像的名字
2. 查看运行docker 容器
3. 查看所有docker 容器
docker ps –a
4. 停止docker
docker stop <comtainername>
5. 运行容器
docker restart <comtainername>
6. 删除容器
docker rm <comtainername>
7. 进入容器
docker exec –it <comtainername> /bin/bash
八、常见问题