docker学习一
1. 普通用户如何执行docker命令
- 新建普通用户,将普通用户加入docker组中
sudo gpasswd -a docker-user docker
- 重启docker
service docker restart
- 修改文件权限
提示以下异常
Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.38/containers/json?all=1: dial unix /var/run/docker.sock: connect: permission denied
chmod a+rw /var/run/docker.sock
2. 如何更改docker overload路径
- 新建新的路径
mkdir -p /home/docker/lib
- 停止docker
systemctl stop docker
- 迁移原有的文件
rsync -avz /var/lib/docker /home/docker/lib/
# 如果没有安装rsync请先安装
yum install rsync
- 同步
sudo mkdir -p /etc/systemd/system/docker.service.d/
sudo vi /etc/systemd/system/docker.service.d/devicemapper.conf
## 填写以下内容
[Service]
ExecStart=
ExecStart=/usr/bin/dockerd --graph=/home/docker/lib/docker
- 重启
systemctl daemon-reload
systemctl restart docker
systemctl enable docker
- 验证
docker info
- 异常
# 如果启动docker镜像时出现异常:"docker-proxy": executable file not found in $PATH
# 解决方法
cd /usr/libexec/docker/
# 创建软连接执行新指向的地址
ln -s /usr/libexec/docker/docker-proxy-current /home/docker/lib/docker-proxy
3. 如何把spring boot打成镜像
镜像仓库:
# 打成镜像在本地
docker build -f dockerfile -t 172.17.211.36:80/hollycrm.com/train-service:0.0.3 .
# 推送到私服
docker push 172.17.211.36:80/hollycrm.com/train-service:0.0.3
# 登录要部署的目标服务在服务器拉取镜像
docker pull 172.17.211.36:80/hollycrm.com/train-service:0.0.3
# 启动镜像
docker run -dit --add-host holly-node1:172.17.140.156 -p 39703:39703 172.17.211.36:80/hollycrm.com/train-service:0.0.3 /bin/bash
# 查看运行的镜像
docker ps
docker logs -f [镜像id]
4. 如何查看镜像的日志
# 进入容器中查看
docker exec -i 0555c0a2538c /bin/bash
# 容器外查看
docker logs --tail="100" 0555c0a2538c
# 将数据拷贝到服务器外
docker cp jolly_mcclintock:/home/docker/service/logs/busi/holly-datacube-business-info.log .
holly-datacube-business-error.log
docker cp [name]:[容器file路径] [宿主机路径]
5. docker 查看容器对应的卷
默认的容易卷路径在
/var/lib/docker/volume
目录下,
# 执行命令
docker inspect [容器id]
查看volume的id
6. 卸载docker
yum list installed | grep docker
# 显示如下
docker.x86_64 2:1.13.1-161.git64e9980.el7_8 @extras
docker-client.x86_64 2:1.13.1-161.git64e9980.el7_8 @extras
docker-common.x86_64 2:1.13.1-161.git64e9980.el7_8 @extras
# 删除安装包
yum remove docker.x86_64 docker-client.x86_64 docker-common.x86_64 -y
# 删除镜像 overlay等目录
rm -rf /var/lib/docker
rm -rf /home/docker/lib
7. 镜像另存为
# 将镜像存为tar
docker save -o xxx.tar 镜像名
# 加载镜像
docker load -i xxx.tar