Docker
Docker学习和应用中的问题
Waldenz
技术改变世界
展开
-
docker容器中文编码问题 UnicodeEncodeError: ‘ascii‘ codec can‘t encode characters
启动docker 容器后,接口报错如下:UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128)进入容器查看系统环境语言包:发现不支持utf8所以在dockerfile中增加如下:RUN yum install kde-l10n-Chinese -y && \ yum install glibc-common -y &&原创 2020-12-30 10:33:00 · 1182 阅读 · 0 评论 -
mac docker memory问题
问题描述mac 默认为docker分配的内存为2G,一旦容器中的程序运存超过该值,就会启动失败,如图:解决方法:mac->Docker->Preferences->Memory 增加该值也可以参考官方 关于Mac中使用Docker...原创 2019-08-18 04:46:18 · 3667 阅读 · 0 评论 -
docker python 编码问题 UnicodeEncodeError: 'ascii' codec can't encode characters in position
问题说明docker的python容器中执行print(‘测试’),常见的错误提示,在宿主机不会出现UnicodeEncodeError: 'ascii' codec can't encode characters in position原因分析:原因是因为locale 的设置导致 shell 的stdin/stdout/stderr 的默认编码为ascii,当用ascii编码去...原创 2019-08-18 04:32:24 · 3016 阅读 · 0 评论 -
docker: http: server gave HTTP response to HTTPS client 原因&解决方法
错误现象:Error response from daemon: Get https://******:5000/v2/: http: server gave HTTP response to HTTPS client原因分析 docker registry未采用https服务,而客户端docker使用https请求push所致解决方法: docke...原创 2019-08-17 10:19:10 · 45643 阅读 · 2 评论 -
docker centos 镜像中安装python36详解!生成centos+python36的基础镜像
获取centos镜像docker pull centos:7.4.1708启动并进入centos的容器docker run -i –t centos /bin/bash下载安装python编译环境依赖yum -y install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite...原创 2019-08-17 10:11:35 · 7764 阅读 · 2 评论 -
docker 启动、重启、关闭服务
systemctl start docker 启动systemctl restart docker 重启docker服务systemctrl stop docker 关闭docker服务原创 2019-06-25 10:31:37 · 4323 阅读 · 1 评论 -
docker run -v 挂载数据卷
格式:-v 容器目录 或 -v 本地目录:容器目录样例:docker run -v /usr/ToolsAPIDir:/ToolsAPIDir1 -d -p 5005:5004 -it toolsapi:v8 python3 tools_api.py命令解析:-v 本地目录:容器目录。挂载主机的本地目录 /usr/ToolsAPIDir 目录到容器的/ToolsAPIDir...原创 2019-05-17 17:04:52 · 28328 阅读 · 0 评论 -
docker cp 容器和主机间文件拷贝复制
从容器->宿主机容器的opt目录下的aa.txt文件拷贝到宿主机的/usr/目录下docker cp mycontainer:/opt/aa.txt /usr/主机->容器docker cp /usr/aa.txt mycontainer:/optdocker cp 命令不管容器有没有启动,拷贝命令都会生效。如果拷贝的内容已存在,则直接覆盖。...原创 2019-04-28 15:49:01 · 4661 阅读 · 0 评论 -
docker 构建私有仓库遇到的常见问题
构建私有仓库拉取registry镜像,构建私有的镜像注册服务器docker pull registry运行容器docker run --restart=always -d -p 5000:5000 -v /myregistry:/var/lib/registry registry-d后台运行,不会有交互终端-it运行就会有一个终端,退出容器后,容器也停止并退出了(...原创 2019-04-25 13:31:04 · 3006 阅读 · 0 评论 -
Centos 安装docker
添加yum源,由于阿里云只提供了docker-ce,所以需要配合网易yum源,更新相关依赖资源)1. 阿里云源curl -o /etc/yum.repos.d/docker.repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo2. 网易CentOS源cd /etc/yum.repos.d...原创 2019-04-24 11:50:41 · 139 阅读 · 0 评论 -
已存在的虚拟机加入到swarm集群
docker-machine关联已有的虚拟机220.127,并起名为node3.该命令需要确保本机连接220.127为免密登录。免密登录方法参考mac/linux ssh免密登录docker-machine create -d generic --generic-ip-address=192.168.220.127 --generic-ssh-user=root node3do...原创 2019-04-24 10:50:13 · 346 阅读 · 0 评论 -
docker 容器 自启动策略 restart policy
docker run 中设置在docker run通过 --restart 设置守护机制:no: 不自动重新启动容器(默认)no-failure: 容器发生error而退出(容器退出状态不为0)重启容器unless-stopped:在容器已经stop掉或Docker stoped/restarted的时候才重启容器always:如果容器停止,总是重新启动容器。如果手动ki...原创 2019-04-24 10:36:34 · 18453 阅读 · 1 评论 -
利用 docker compose.yml文件 实现负载均衡
docker中的服务我们将扩展应用并启用负载均衡。在分布式应用中,应用的不同部分称为“服务”。例如,假设有一个视频共享网站,它可能提供用于在数据库中存储应用程序数据的服务、用于在用户上传一些内容后在后台进行视频转码的服务、用于前端的服务等。服务实际上是“生产中的容器”。一项服务仅运行一个镜像,但它会编制镜像的运行方式 - 它应使用的端口、容器的多少个从节点应运行才能使服务的容量满足其需求等...原创 2019-04-21 08:50:18 · 1635 阅读 · 0 评论 -
docker stack deploy 报错 mapping values are not allowed in this context
报错如下:错误原因: docker-compose.yml文件中缺少必要的空格正确的文件如下,在官方文档中 version后的冒号后没有空格,所以报错。version: "3"services: web: # 将 username/repo:tag 替换为您的名称和镜像详细信息 image: username/repository:tag depl...原创 2019-04-14 02:01:58 · 20082 阅读 · 0 评论 -
docker save load export import区别详解
docker save 用来将一个或多个image打包保存。如:将本地镜像库中的image1和image2打包到images.tar中docker save -o images.tag image1:v1 image2:v1docker save 也可以打包container,保存的是容器背后的image.docker load用于将打包的tar中包含的镜像load到本地镜像库...原创 2019-04-14 01:26:23 · 6616 阅读 · 0 评论 -
docker使用PyExecJS,报错 Could not find an available JavaScript runtime
使用docker运行一个简单的程序,其中用到了PyExecJS包,本机运行,没有遇到过什么问题,但部署到docker环境上后,部署成功,但是在执行过程中报错 ”Could not find an available JavaScript runtime“, 原因是在linux环境下,没有JS环境会报该错。由此可见, execjs在linux环境中需要安装JS环境 。之前只pull了python...原创 2019-04-13 22:25:03 · 3164 阅读 · 1 评论 -
docker attach退出容器,容器会停止运行的解决方法
第一种方法正常退出但不关闭容器,请按 Ctrl+P+Q进行退出容器第二种方法docker attach:连接到正在运行中的容器,注意如果container当前正在前台运行进程,Ctrl-C不仅会导致退出容器,而且容器还会stop。我们想要的detach是脱离容器终端,但容器依然运行。解决方法,加上 --sig-proxy=false,这样detach时不会关闭容器。docke...原创 2019-04-14 01:04:26 · 10402 阅读 · 1 评论 -
docker 批量删除容器和镜像
批量强制删除容器docker ps -a |grep 'Exited' |awk '{print $1}' |xargs docker rm -f批量删除镜像,批量删除 repository name中包含dirtest中的镜像docker images | grep 'dirtest'| awk '{print $3}'|xargs docker rmi同理,删除none的镜...原创 2019-04-13 22:43:52 · 937 阅读 · 0 评论 -
mac docker push : requested access to the resource is denied / Error saving credentials
docker push的时候报错如下:denied: requested access to the resource is denied是docker没有登录的原因, 使用docker login,输入dokcer id 和password,后又出现如下错误:Error saving credentials: error storing credentials - err: ...原创 2019-04-12 13:55:05 · 890 阅读 · 0 评论 -
docker 阿里云加速
为什么使用加速器使用加速器可以提升获取Docker官方镜像的速度。加速地址填在哪里Docker Preferences->Daemon->Registry mirrors->添加镜像仓库地址->docker 自动重启->Docker engine is running阿里云的镜像加速器阿里云镜像服务中,镜像加速器,会获得专属链接,加入到Regi...原创 2019-04-12 17:48:56 · 236 阅读 · 0 评论 -
上传自己的镜像到dockerhub
1. dockerhub上创建repository。其实也可以省略这步,执行push操作时,如果dockerhub上不存在该repository,则会自动创建。2. 本地的image名称push到docker时,repository 需要符合格式: dockerid/repository_name,如,本地之前创建了一个friendlyhello的image, 需要通过 docke...原创 2019-04-12 14:21:39 · 361 阅读 · 0 评论 -
docker 常用命令详解
容器生命周期管理命令docker run: 创建一个新的容器并运行一个命令Docker run命令如下: 运行friendlyhello镜像,并在后台运行,且将容器的80端口映射到宿主机的4000端口docker run -d -p 4000:80 friendlyhello-d: 后台运行容器,并返回容器ID-p: 端口映射,格式为 宿主机端口:容器端口-i: 已交互模式运...原创 2019-04-14 00:52:39 · 662 阅读 · 0 评论 -
docker 入门 实例
先决条件验证是否已经做好准备docker run hello-world使用Dockerfile定义容器Dockerfile将在您的容器内定义环境中执行的操作。对网络接口和磁盘驱动器的访问在此内环境内实现虚拟化,这将独立于系统的其余部分,因此您必须将端口映射到外度,并具体说明您要“复制”到该环境的文件。但是,在执行此操作后,您可以期望此Dockerfile中定义的应用构建的行...原创 2019-04-12 02:10:33 · 268 阅读 · 0 评论