docker部署常见问题
Docker容器做端口映射报错
docker: Error response from daemon: driver failed programming external connectivity on endpoint ....
解决方法
docker服务启动时定义的自定义链DOCKER被清除
重启即可systemctl restart docker
connect: permission denied
docker: docker: Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock ....
解决方法
修改 var/run/docker.sock的权限属性为666或777可解决。但,每次docker重启后,该权限将会重置,需要重新再次配置。
查看容器的日志
docker logs -f -t --tail 200 auth-server
以配置文件方式、守护态 运行redis ,同时,重启docker会自动启动
docker run -p 6379:6379 --name redis --restart always -v /root/redis/redis01/conf/redis.conf:/etc/redis/redis.conf -v /root/redis/redis01/data:/data -d redis redis-server /etc/redis/redis.conf --appendonly yes
Centos获取ip,无法使用ifconfig
ifconfig这个命令是在net-tools.x86_64这个包里,需要安装该工具,命令:yum install net-tools.x86_64
Docker 进入容器命令
docker exec -it 44fc0f0582d9 /bin/bash
查看容器ip地址:
[root@localhost ~]# docker inspect --format='{{.NetworkSettings.IPAddress}}' 1d3d739a0b3b
172.17.0.5
[root@localhost ~]#
容器和宿主机之间文件拷贝
1、从容器里面拷文件到宿主机?
命令
docker cp 容器名:要拷贝的文件在容器里面的路径 要拷贝到宿主机的相应路径
示例:
docker cp testtomcat:/usr/local/tomcat/webapps/test/js/test.js /opt
2、从宿主机拷文件到容器里面
命令
docker cp 要拷贝的文件路径 容器名:要拷贝到容器里面对应的路径
示例:
docker cp /opt/test.js testtomcat:/usr/local/tomcat/webapps/test/js
查看Linux版本信息
cat /etc/issue
COPY failed: stat /var/lib/docker/tmp/docker-builder...no such file or directory
错误如下:
Step 4/5 : COPY /bin/Release/netcoreapp3.1/publish .
COPY failed: stat /var/lib/docker/tmp/docker-builder255452545/bin/Release/netcoreapp3.1/publish: no such file or directory
看到此类错误,需要排查文件或文件夹名称是否有写错,如果一切正确,还需要查看是否配置了.dockerignore文件,并且要COPY的文件夹是否添加到了Ignore列表中,如果有,删除即可。
容器无法访问外网问题
默认构建镜像时,使用的是bridge模式,需访问外网,可以指定网络为host
docker build -t ideology-usermanager . --network=host
Docker下Redis常用操作
进入容器:
docker exec -it redis /bin/bash
进入redis操作命令:
redis-cli -h 127.0.0.1 -p 6379
查看所有key
keys *
清空数据
flushall
所有数据库
flushdb
当前库
Docker-compose 操作
- docker-compose up 用于部署一个 Compose 应用。 ...
- docker-compose stop 停止Compose 应用相关的所有容器,...
- docker-compose rm 用于删除已停止的 Compose 应用。 ...
- docker-compose restart 重启已停止的 Compose 应用。 ...
- docker-compose ps 用于列出 Compose 应用中的各个容器。 ...
-f参数,指定yml文件docker-compose -f docker-compose-dev.yml up