Docker问题库
先按Esc,
保存退出: shift +ZZ
不保存退出: shift+: 再输入: q!
保存退出: shift+: 再输入:wq
方法一:sudo docker run ..... 时加入以下选项:
-v /etc/localtime:/etc/localtime:ro \
方法二::进入容器
apk add tzdata (需容器能运行:apk命令)
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
echo "Asia/Shanghai" > /etc/timezone
方法三:
在docker虚拟机上: mkdir -p /usr/share/zoneinfo/Asia/
docker exec -it zabbix-web-nginx-mysql bash
mkdir -p /usr/share/zoneinfo/Asia/
cp (宿主机: /usr/share/zoneinfo/Asia/Shanghai) 到 (虚拟机上) /usr/share/zoneinfo/Asia/
docker cp /usr/share/zoneinfo/Asia/Shanghai zabbix-web-nginx-mysql:/usr/share/zoneinfo/Asia/
docker cp /usr/share/zoneinfo/Asia/Shanghai mysql:/etc/localtime
方法四:
在docker-compose.yml文件中,在相应的项目内加入 volumes:及添加以下内容
volumes:
- /etc/localtime:/etc/localtime:ro
docker-compose中,添加以下内容,容器中的时间将于缩主机自动一致.
详细的设置部署方法参考: http://www.jimmy2k.top/Article/?20190924190120.html)
3.docker重启(即应用服务或镜像重启)
docker ps -a
docker restart 容器ID
4.关闭所有镜像(所有镜像将要手动重新启动)
systemctl stop docker
现在以centos为例,在一个裸的centos上面安装vim编辑器,
并且把这个修改保存下来,封装成一个能执行vim命令的centos镜像。
1.启动镜像并做出修改
docker run -it centos /bin/bash
[root@afcaf46e8305 /]#
注意afcaf46e8305是产生的容器ID,前面运行的时候不要-d后台运行了,不然无法进入容器交互执行模式:
安装vim并且退出容器:
yum install -y vim
exit
2.把容器打包成镜像
docker commit afcaf46e8305 centos-vim
3.查看镜像centos-vim
docker images | grep centos-vim
查看镜像的详细信息:
docker inspect centos-vim:afcaf46e8305
4.使用centos-vim这个镜像
docker run -it centos-vim /bin/bash
发现可以直接使用vim了,而不需要重新安装:
vim --version
5.删除容器
docker ps -a
docker stop 容器ID
docker rm 容器ID
------
6.删除镜像
docker images
docker rmi imagesID
------
出现出错提示:unable to delete,请先操作上面第5点
7. 查看zabbix server的日志输出
docker logs -f zabbix-server-mysql
8.OPTIONS说明
-a :提交的镜像作者;
-c :使用Dockerfile指令来创建镜像;
-m :提交时的说明文字;
-p :在commit时,将容器暂停。
将容器a404c6c174a2 保存为新的镜像,并添加提交人信息和说明信息。
docker commit -a "runoob.com" -m "my apache" a404c6c174a2 mymysql:v1
9.根据容器的 ID 进行导出镜像(备份)
docker ps -a
导出
docker export d244931bfbf3 > /opt/gitlab-zh.tar
scp /opt/gitlab-zh.tar root@14.215.127.73:/home/
导入
docker import - zabbix-server < /opt/gitlab-zh.tar
10.Docker镜像保存save、加载load
(1)查看要要保存的镜像的ID
docker images
(2)保存镜像
docker save docker.io/zabbix/zabbix-server-mysql -o /opt/zabbix-server.tar
docker save docker.io/zabbix/zabbix-web-nginx-mysql -o /opt/zabbix-web.tar
(3)加载镜像
可以在任何装 docker 的地方加载 刚保存的镜像了。
docker load -i /opt/zabbix-server.tar
docker load -i /opt/zabbix-web.tar
//DB_SERVER_HOST : docker ps -> NAMES
docker run --name zabbix-server-mysql -t \
-e DB_SERVER_HOST="mysql-server" \
-e MYSQL_DATABASE="zabbix" \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="zabbix" \
-e MYSQL_ROOT_PASSWORD="zabbix" \
--link mysql-server:mysql \
-p 10051:10051 \
-d zabbix/zabbix-server-mysql:latest
docker run --name zabbix-web-nginx-mysql -t \
-e DB_SERVER_HOST="mysql-server" \
-e MYSQL_DATABASE="zabbix" \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="zabbix" \
-e MYSQL_ROOT_PASSWORD="zabbix" \
--link mysql-server:mysql \
--link zabbix-server-mysql:zabbix-server \
-p 8088:80 \
-d zabbix/zabbix-web-nginx-mysql:latest
问题一:
中文是框框: 修改docker的字体
c:\Windows\Fonts>copy 方正粗黑宋简体.ttf d:\fz.ttf
ftp上传fz.ttf文件
docker cp fz.ttf zabbix-web-nginx-mysql:/usr/share/zabbix/assets/fonts/fz.ttf
docker exec -it 67c43ccfa32c bash (进入docker的web容器)
vim /usr/share/zabbix/include/defines.inc.php
define('ZBX_GRAPH_FONT_NAME', 'DejaVuSans');
define('ZBX_FONT_NAME', 'DejaVuSans');
改
define('ZBX_GRAPH_FONT_NAME', 'fz');
define('ZBX_FONT_NAME', 'fz');
问题二:
点出右上角管理按钮时出错:
docker exec -it 67c43ccfa32c bash (进入zabbix werb容器)
vi /usr/share/zabbix/include/sounds.inc.php
Uncaught Error: Call to undefined function mime_content_type()
thrown in /usr/share/zabbix/include/sounds.inc.php on line 27
将原函数修改为:
function getSounds() {
$fileList = [];
$dir = scandir('./audio');
foreach ($dir as $file) {
if (!preg_match('/^([\w\d_]+)\.(wav|ogg)$/i', $file)) {
continue;
}
list($filename, $type) = explode('.', $file);
$fileList[$filename] = $file;
}
return $fileList;
}
- 本文标签: 暂无相关标签
- 本文链接: https://www.jimmy2k.top/article/275
- 版权声明: 本文由JimmyZ的个人博客原创发布,转载请遵循《署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)》许可协议授权