• [互动交流] docker-ce 装完后第二天就打不开了,重装了还是一样的问题
    按照华为开源镜像站安装docker-ce问题如下:
  • [其他问题] docker启动报错
    Failed to start Docker Application Container Engine.
  • [容器类] 2288H-V5服务器在容器中复位标卡
    操作系统是ubuntu16.04,docker版本18.09.7参考《npu-smi命令介绍》在主机侧安装软件加载驱动后能成功复位标卡。文档中相关介绍在主机侧执行结果创建容器在容器中能够查看npu信息容器中也安装了ipmitool,加载模型也没有报错在容器中执行复位标卡的命令时报错​
  • [应用专区] 【Hi-Grid-T2系列】安装APP成功,但是并没有成功启动
    安装APP前后的日志记录如下:打包debian时使用的beyonddc.service如下:想请教一下,是不是service的实现有问题?
  • [容器专区] 【Hi-Grid-T2系列】配置volume时提示不支持:The container does not support volume.
    参考资料文档为边缘计算网关二次开发指南(T2系列).chmlog如下:
  • [容器专区] 【Hi-Grid-T2系列】容器正常start后,进行stop再start时,提示Failed to start container.
    第一次操作时,install-->start是正常的,但是stop后进行start会提示Failed to start container.log如下:将容器卸载后再次安装,start,则不会出现该问题。
  • [应用专区] 【Hi-Grid-T2系列】容器安装APP 提示install app failed.
    日志记录:安装指令:编写APP服务:生成deb包脚本:生成ova包:/data/eciot-ova/system/external/sdk/usr/local/bin/create-ova -t app -d beyonddc.deb -n beyonddc -s beyonddc 50 50 -s dcweb 40 50 -version_short V001 -ar armel -ot debian -ov buster -vendor sanxing
  • [容器专区] 【AR502产品】docker内运行./build_ova.sh报错,无法找到armel.img
    Hi,我在使用./build_ova.sh armel 2.0.0 huawei download unprivileged命令进行LXC容器包制作时,产生了报错如下:create deb file success!usage3:./create_rootfs.sh {armel|arm64} {privileged|unprivileged} {passwd} [custom_dir]cp: cannot stat 'armel-buster-lxc-rootfs.squashfs': No such file or directoryERR: Sorry, i can't find the file: armel.imgmv: cannot stat 'ECarmelunprivileged.ova': No such file or directorymu'qian'wo'shi'yong'de
  • [对接入门] 【AR502产品】build_sdk_base.sh运行报错
    运行环境为VMvare下的Ubuntu18.04及20.04;sourcelist使用清华源/阿里源;apt-get update无异常,且下载docker无异常,docker version为Docker version 23.0.4, build f480fb1 脚本来源为https://support.huawei.com/enterprise/zh/doc/EDOC1100199326下载的chm文件中附带的rar文件但是运行build_sdk_base.sh会出现update部分文件失败。
  • [其他] 在Docker容器中安装中文字体
    在需要操作word的场景中,比如代码生成word合同,导出数据到word模板,word文件转pdf文件等常常需要中文字体,而发布到docker环境的程序默认没有中文字体,就需要打包镜像的时候手动安装自己,下面就以一个jar打包成镜像的示例,Dockerfile如下FROM openjdk:8WORKDIR /build# 安装字体COPY simhei.ttf /usr/share/fonts/my-fonts/simhei.ttfCOPY simsun.ttc /usr/share/fonts/my-fonts/simsun.ttcRUN yum install mkfontscale -yRUN yum install fontconfig -yRUN mkfontscaleRUN mkfontdirRUN fc-cache -fv#拷贝其他文件COPY . .CMD java -jar api-0.0.1-SNAPSHOT.jar上面的yum命令是基于centos7的,如果版本不对需要调整版本号。然后就可以docker build后再run了。
  • 通过docker制作jar镜像并运行
    docker的安装脚本:   # 更新yum源为阿里源   wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-8.repo   yum install -y yum-utils device-mapper-persistent-data lvm2   # 华为源   yum-config-manager --add-repo https://sandbox-expriment-files.obs.cn-north-1.myhuaweicloud.com:443/use-framework-upgrade/docker-ce.repo   # 阿里源   yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo   yum install docker-ce   systemctl start docker  systemctl enable docker   docker version      构建docker镜像     在centos系统下创建目录 /root/mydocker     将项目jar包复制到/root/mydocker内  创建Dockerfile文件,文件内容:  FROM openjdk:8  WORKDIR /build  COPY . .  CMD java -jar test.jar    4. 将Dockerfile文件复制到/root/mydocker文件夹内   5. 在/root路径下执行命令:  docker build mydocker -t mydocker:v1  6. 至此镜像制作完毕,可以通过命令运行  docker run -d -p 8081:8080 mydocker:v1   7. 将打包好的镜像导出到服务器上   docker save 999c20aee5da > /root/mydocker.tar mydocker:latest   999c20aee5da为镜像ID  8. 加载服务器上镜像文件  docker load < /root/mydocker.tar  9. 停止,删除,删除镜像,重新build,run脚本,rebuild.sh  docker stop myapi  docker rm myapi  docker rmi myapi:latest  docker build /www/myapi -t myapi:latest  docker run -d --name=myapi -p 80:80 myapi:latest  **************************************************************************************  docker使用  1.centos下安装docker  CentOS Docker 安装 | 菜鸟教程  2.常用命令:  centos下启动docker服务:systemctl start docker  查看本地镜像:docker images  删除本地镜像:docker  rmi  [imageId]  下载一个镜像:docker pull  [imageName]  运行一个容器:docker run  -d:后台运行  -p:指定端口映射  -it:交互式运行,配合/bin/bash进行命令行输入  -v:数据卷指定,用户文件路径映射  例如:   docker run -d -p 8081:8080 -v /root/myfiles:/root/myfiles tomcat  查看运行中的容器:docker ps  查看所有容器:docker ps -a  删除容器:docker rm [containerId]  停止容器:docker stop [containerId]  启动/重启容器:docker start/restart [containerId]  以交互式进入容器内部:Docker exec -it [containerId] /bin/bash  查看容器日志:Docker logs [containerId]  查看数据卷列表:docker volume ls  删除数据卷:docker volume rm [VolumeName]  主机和容器之间复制文件:      从主机复制到容器  sudo docker cp host_path containerID:container_path      从容器复制到主机  sudo docker cp containerID:container_path host_path  
  • [技术干货] Docker 下MySQL数据库的备份和恢复的操作方法【转】
    docker最近迷恋使用doker容器,在docker容器进行部署MySQL,以前针对容器的安全性一直存在怀疑的态度,不过如果能够通过容器也能数据库备份问题,就这样开始docker容器备份备份和恢复:第一种方式12345678910#全部备份[root@localhost home]# docker  exec  c_mysql sh -c 'exec mysqldump --all-databases -uroot -p123456 --all-databases' > /home/movice202302.sql#备份数据转移[root@localhost home]# docker cp /home/movice202302.sql salve-mysql:/var # salve-mysql 是容器 #全部恢复root@6faa12ee2d96:/# mysql -uroot -p123456 < /var/movice202302.sql#查看恢复数据库情况:mysql -uroot -p123456 -e 'drop database SCHOOL;'mysql -uroot -p123456-e 'SHOW DATABASES;'恢复:导出数据库的表结构和表数据mysqldump -uroot -pdbpasswd db_name >db.sql;12[root@localhost home]# docker exec c_mysql sh -c 'exec mysqldump  -uroot -p123456 movice_fuli' > /home/movie0216.sqlWarning: Using a password on the command line interface can be insecure.123456789101112131415导出数据库表数据mysqldump -uroot -pdbpasswd -t db_name >db.sql;root@localhost home]# docker exec c_mysql sh -c 'exec mysqldump  -uroot -p123456 -t movice_fuli' > /home/movie.sql导出数据库表结构mysqldump -uroot -pdbpasswd -d db_name >db.sql;root@localhost home]# docker exec c_mysql sh -c 'exec mysqldump  -uroot -p123456 -d movice_fuli' > /home/movie.sql导出数据库中某个表的表结构mysqldump -uroot -pdbpasswd -d db_name table_name >db.sqlroot@localhost home]# docker exec c_mysql sh -c 'exec mysqldump  -uroot -p123456 -d movice_fuli user' > /home/movie.sql导出数据库中某个表的表结构和表数据mysqldump -uroot -pdbpasswd db_name table_name >db.sql;root@localhost home]# docker exec c_mysql sh -c 'exec mysqldump  -uroot -p123456  movice_fuli user' > /home/movie.sql自动化备份mysql1 创建目录/usr/data用于存放mysql的数据存放12345678910111213141516171819root@localhost ~]# cd /usr[root@localhost usr]# lsbin  etc  games  include  lib  lib64  libexec  local  sbin  share  src  tmp[root@localhost usr]# mkdir data[root@localhost usr]# lsbin  data  etc  games  include  lib  lib64  libexec  local  sbin  share  src  tmp[root@localhost usr]# cd data[root@localhost data]# ls [root@localhost data]# touch back_clean.sh [root@localhost data]# touch backup .sh[root@localhost data]# mkdir logs[root@localhost data]# mkdir mysql_bak[root@localhost data]# lsback_clean.sh  backup  logs  mysql_bak[root@localhost data]# rm backuprm:是否删除普通空文件 "backup"?y[root@localhost data]# touch backup.sh[root@localhost data]# lsback_clean.sh  backup.sh  logs  mysql_bak2 编辑 备份脚本和清除大于给定期限的备份数据backup.sh,back_clearn.sh1234567891011121314151617181920212223242526vi backup.shBACKUP_ROOT=/usr/data/BACKUP_FILEDIR=$BACKUP_ROOT/mysql_bak#当前日期DATE=$(date +%Y%m%d)# 获取容器mysqlid=docker ps  -aqf "name=c_mysql"#查询所有数据库DATABASES=$(docker exec -i ${mysqlid}  mysql  -uroot -p123456 -e "show databases" | grep -Ev "Database|sys|information_schema|performance_schema|mysql")#循环数据库进行备份for db in $DATABASESdoechoif [[ "${db}" =~ "+" ]] || [[ "${db}" =~ "|" ]];thenecho "jump over ${db}"elseecho ----------$BACKUP_FILEDIR/${db}_$DATE.sql.gz BEGIN----------docker exec -i ${mysqlid}  mysqldump -uroot -p123456 --default-character-set=utf8 -q --lock-all-tables --flush-logs -E -R --triggers -B ${db} | gzip > $BACKUP_FILEDIR/${db}_$DATE.sql.gzecho ${db}echo ----------$BACKUP_FILEDIR/${db}_$DATE.sql.gz COMPLETE----------echofidoneecho "备份完成"1234vi back_clear.shecho ----------CLEAN BEGIN----------find /usr/data/mysql_bak/ -mtime +7 -name "*.gz" -exec rm -rf {} \;echo ----------CLEAN COMPLETE---------设置定时任务利用Linux crontab 进行设置定时任务查看定时任务crotab -l修改定时任务crontab -e12345#每天02:00自动清理大于7天的mysql备份00 2 * * * /usr/data/backup_clean.sh > /usr/data/logs/backup_full_clean.log 2>&1#每天11:00自动备份mysql00 11 * * * /usr/data/backup.sh > /usr/data/logs/backup.log 2>&1到此这篇关于Docker 下MySQL数据库的备份和恢复的文章就介绍到这了转载自https://www.jb51.net/article/275649.htm
  • [技术干货] docker-compose统一管理多个容器使用详解【转】
    在我们使用Docker时,如果需要运行多个容器,在没有Docker-compose之前,你可能需要一个个的定义和启动。docker-compose诞生之后,你只需要把这些容器、依赖关系、端口映射等配置在一个yaml文件中即可,大大提升了管理效率。今天就以一个Python项目来说说Docker-compose的使用步骤。Docker-compose目录树flask项目中要用到mysql,因此我们准备2个容器:mysql镜像、flask项目镜像。flask代码目录如下:12345678910.├── docker-compose.yml├── flask│   ├── Dockerfile│   ├── __init__.py│   ├── gunicorn_conf.py│   ├── manage.py│   ├── requirements.txt│   └── settings.py└── mysqlflask目录下文件首先来编写MySQL连接文件settings.py:1234567import pymysqldb = pymysql.connect(    host='mysql',    port=3306,    user='root',    password='root123456')再编写代码文件manage.py,代码很简单,就是开启一个flask服务,需要用到上述的mysql服务:1234567891011121314151617181920from flask import Flaskfrom settings import dbapp = Flask(__name__)def mysql_test():    cursor = db.cursor()    sql = "show databases"    cursor.execute(sql)    res = cursor.fetchall()    cursor.close()    db.close()    return res @app.route('/')def index():    res = mysql_test()    re_list = []    for row in res:        re_list.append(row[0])    return "res: {}".format(re_list)if __name__ == '__main__':    app.run()进程管理方面,我们使用gunicorn来管理服务,因此编写gunicorn配置文件gunicorn_conf.py:123worker = 4worker_class = "gevent"bind = "0.0.0.0:5000"接着,我们来编写Dockerfile:12345FROM python:3.7-slimCOPY . /homeWORKDIR /homeRUN pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simpleCMD gunicorn -c gunicorn_conf.py manage:app然后,再编写一下flask项目依赖文件requirements.txt:12345Flask==2.0.3gunicorn==20.1.0gevent==21.12.0PyMySQL==1.0.2cryptography==39.0.0docker-compose.yml文件编写编写docker-compose.yml,我们要描述应用的构成(一个web服务器和一个数据库)、使用的Docker镜像、镜像间的连接、挂载到容器的数据卷、服务开放的端口。1234567891011121314151617181920212223242526272829version: '3'services:  mysql:    image: mysql:latest    restart: always    networks:   # 配置网络      - diy_net    expose:      - 3310    ports:      - "3310:3306"    environment:   # 环境变量(可防止泄露不必要的数据)      - MYSQL_ROOT_PASSWORD=root123456  flask:    build: ./flask    depends_on:  # 依赖于mysql容器,启动时会先启动mysql      - mysql    networks:   # 配置网络      - diy_net    environment:       - MYSQL_USER=root      - MYSQL_PASSWORD=root123456      - MYSQL_DB=docker_db    ports:      - "5000:5000"networks:  # 网络设置  diy_net:    name: diy_net    external: true  # 表示已有的网络备注: networks的配置是为了让flask应用和mysql应用同处在一个网络,这样才能保证容器间的连通性。 当然保证容器间的连通性,还有其他方式,如用--link配置。用networks配置起来更加方便。代码完成后,开启服务:1docker-compose up -d服务正常开启,来测试一下两个容器的连通性。进入flask容器docker-compose exec flask bashping一下mysql容器:ping -c 3 mysql,显示信息如下:12345678# ping -c 3 mysqlPING mysql (172.18.0.3) 56(84) bytes of data.64 bytes from test-mysql-1.diy_net (172.18.0.3): icmp_seq=1 ttl=64 time=0.717 ms64 bytes from test-mysql-1.diy_net (172.18.0.3): icmp_seq=2 ttl=64 time=0.432 ms64 bytes from test-mysql-1.diy_net (172.18.0.3): icmp_seq=3 ttl=64 time=0.376 ms--- mysql ping statistics ---3 packets transmitted, 3 received, 0% packet loss, time 2005msrtt min/avg/max/mdev = 0.376/0.508/0.717说明容器间互联成功。整个项目就运行起来了。转载自https://www.jb51.net/article/275903.htm
  • [技术干货] 云原生Docker容器自定义DNS解析【转】
    描述在特定的情况下,或者在网络策略特殊定义下,需要自定义dns进行域名访问,在宿主机上配置了域名解析,对于docker容器无效。对于局域网内的域名解析,Docker 需要到 Docker 容器中配置 hosts 文件。实现方式docker-compose配置【推荐】通过增加 extra_hosts 属性 进行host配置12345678910111213141516version: '2'services:  # 指定服务名称  portainer-docker-compose:    image: portainer/portainer    container_name: portainer    volumes:      - /etc/localtime:/etc/localtime    ports:      - 29999:8080    environment:      spring.profiles.active: dev    extra_hosts:      s3-qos.qiniu-solutions.com: 10.12.32.4      demos.s3-qos.iot-st-armtest.qiniu-solutions.com: 10.12.32.4    restart: always进入容器内部修改进入容器1docker exec -it 0485008fc3e5 /bin/sh修改容器内的hosts1cat /etc/hostsdocker run 命令的时候添加进行dns映射:s3-qos.qiniu-solutions.com:10.12.32.412345docker run -d -p 9000:9000 \--restart=always \--add-host s3-qos.qiniu-solutions.com:10.12.32.4 \-v /var/run/docker.sock:/var/run/docker.sock \--name portainer portainer/portainer官方文档:cid:link_2docker build构建镜像时添加1docker build --add-host=docker:10.180.0.1 .官方文档:cid:link_1结尾如果是单机推荐大家采用docker-compose的方式进行编排【开发测试环境】,生产环境可以采用k8s进行编排。官方文档:cid:link_0转载自https://www.jb51.net/article/276037.htm
  • [问题求助] 在华为云openEuler安装docker ce出错
     华为云openEuler 20.03相当于centos 7还是8?如何安装docker ce 19.3.8或以上版本 yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo  修改Docker官方源的版本号 默认识别到的是“20.03LTS_SP3”,应该改成8,也就是CentOS 8。 sed -i 's/\$releasever/8/g' /etc/yum.repos.d/docker-ce.repo 注:如果不执行这一步,会出错: yum makecache Docker CE Stable - aarch64                                                                                              259  B/s | 391  B     00:01 Error: Failed to download metadata for repo 'docker-ce-stable': Cannot download repomd.xml: Cannot download repodata/repomd.xml: All mirrors were tried  刷新包缓存 dnf clean all dnf makecache  dnf -y install docker-ce  提示: Last metadata expiration check: 0:03:11 ago on Mon 07 Nov 2022 02:07:21 PM CST. Error:  Problem: cannot install the best candidate for the job   - nothing provides container-selinux >= 2:2.74 needed by docker-ce-3:20.10.21-3.el8.aarch64 (try to add '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages) 
总条数:479 到第 页
上滑加载中