首页 文章 精选 留言 我的

精选列表

搜索[私有部署],共10000篇文章
优秀的个人博客,低调大师

docker 容器部署

Docker 容器 : 容器是Docker又一核心的概念,简单来说,容器是独立运行的一个或一组应用,以及它们的运行态环境。对应的,虚拟机可以理解为模拟运行的一整套操作系统(提供了运行态环境和其他系统环境)和跑在上面的应用。 接下来具体介绍如何管理一个容器,包括创建、启动和停止等。 启动容器有两种方式: (1.)第一种是基于镜像新建一个容器并启动。 所需要的命令主要为docker run 实例: -t:让docker分配一个为终端(paseudo-tty)并绑定到容器的标准输入上 -i:让容器的标准输入保持打开(即交互式),可以使用-name给容器起个形象的名称。 在交互模式下,用户可以通过所创建的终端来输入命令 例如: 容器的核心为所执行的应用程序,所需要的资源都是应用程序运行所必需的。除此之外,并没有其它的资源。可以在伪终端中利用ps或top来查看进程信息。 可见,容器中仅允许了指定的bash应用。这种特点使得Docker对资源利用率极高,是货真价实的轻量级虚拟化。 退出容器的方式: logout exit Ctrl+d Ctrl+c Ctrl -p + Ctrl -q 下面的命令是输出一个hello world 消息,终止容器。 当利用docker run 来创建容器时 ,Docker在后台运行的标准操作包括: 1.检查本地是否存在指定的镜像,不存在就从公有仓库下载 2.利用镜像创建并启动一个容器 3.分配一个文件系统,并在只读的镜像层外面挂载一层可读写层 4.从宿主主机配置的网桥接口中桥接一个虚拟接口到容器中去 5.从地址池配置一个IP地址给容器 6.执行用户指定的应用程序 7.执行完毕后容器被终止 查看容器: (2.)第二种是将在终止状态(stoped)的容器重新启动。 可以利用docker start 命令,直接将一个已经终止的容器启动运行 可以使用docker stop 来终止一个运行的容器。此外,当docker容器中指定的应用终结时,容器也自动 终止。终止状态的容器可以用docker ps -a 命令看到。 重启一个容器: 二、守护进程方式去运行docker 1.更多的时候,需要让docker容器在后台以守护态(Daemonized)形式运行。此时,可以通过添加 -d 参数来实现。 例如: 或者 容器启动后会返回一个唯一的ID值,也可以通过docker ps 命令来查看容器信息 1.docker卡 run -d 运行提个新的容器,我们通过-d 命令来查看容器信息。 2.centos:centos6 是一个我们想要在内部运行命令的镜像。 3./bin/sh -c 是我们想要在容器内部运行的命令 4.while true;do echo hello weibo;sleep 1; done这是一个简单的脚本,我们仅仅是每秒打印一 次 hello world 一直到我们结束它。 2.用 docker inspect查看容器的信息 用docker inspect 查看容器的IP地址 用docker inspect 查看容器执行的程序 3.进入容器: 在使用-d参数时,容器启动后会进入后台。某些时候需要进入容器进行操作,有很多种方法,包括使 用docker attach命令或nsenter命令。 (1.) 使用docker attach进入容器: 1.docker attache 允许我们进入后台进程 2.--sig-proxy=false 不使用容器转发信号,允许我们使用Ctrl -c来退出,执行docker ps查看在后台运行。 但是使用 attache 命令有时候并不方便。当多个窗口同时attach到同一个容器的时候,所有窗口都会 同步显示。当某个窗口因命令阻塞时,其他窗口也无法执行操作了。 3.也可以执行docker exec进入运行的容器 (2.)使用nsenter进入容器: 安装:nsenter工具在util-Linux包2.23版本后包含。如果系统中util-Linux包没有该命令,可以按照 下面的方法从源码安装 #wgethttps://www.kernel.org/pub/utils/util-linux/v2.24/util-linux-2.24.tar.gz #tar util-linux-2.24.tar.gz #cd util-linux-2.24 # ./configure --without-ncurses&& make nsenter # cp nsenter /usr/local/bin 注意:nsenter可以访问另一个进程的名字空间。nsenter要正常工作需要有root权限。 庆幸的是centos7使用的是util-linux-2.23,所以就直接使用系统提供的util-linux包了。 为了使用nsenter命令工具连接到容器,还需要找到容器的第一个进程的pid,可以通过下面的命令获取到。 附:更简单的,建议大家下载 .bashrc_docker,并将内容放到 .bashrc中 #wget ~https://github.com/yeasy/docker_practice/raw/master/_local/.bashrc_docker #echo "[-f ~/.bashrc_docker] && ~/.bashrc_docker">>~/.bashrc #source ~/.bashrc 这个文件中定义了很多方便使用Docker的命令,例如docker-pid可以获取某个容器的pid;而docker- enter 可以进入容器或直接在容器内执行命令。 echo $(docker-pid<container>) docker-enter<container>ls 三、容器的导入和导出以及删除容器 (1.)导出容器 如果要导出本地某个容器,可以 使用docker export命令。 (2.)导入容器 可以使用docker import 从容器快照文件中再导入为镜像 除此之外,也可以通过指定URL或者某个目录来导入。例如: #docker importhttp://example.com/exampleimage.tgzexample/imagerepo 注意: docker load 和 docker import 的区别: 用户既可以使用docker load 来导入镜像存储文件到本地镜像库,也可以使用docker import来导入一个 容器快照到本地镜像库。这两者的区别在于容器快照文件将丢弃所有的历史记录和元数据信息(即仅保 存容器当时的快照状态),而镜像存储文件将保存完整记录,体积也要大。此外,从容器快照文件导入 时可以重新指定标签等元数据信息。 删除容器: 可以使用 docker rm来删除一个处于终止状态的容器 如果要删除一个运行中的容器,可以添加 -f 参数。docker会发送SIGKILL信号给容器。 批量删除多个容器:

优秀的个人博客,低调大师

TensorFlow安装部署

1.环境依赖 Centos7 组件 版本 Python 2.7.5 TensorFlow 0.14.0 pyhton依赖库 Package Version -------------------- --------- absl-py 0.8.0 astor 0.8.0 backports.weakref 1.0.post1 enum34 1.1.6 funcsigs 1.0.2 futures 3.3.0 gast 0.2.2 google-pasta 0.1.7 grpcio 1.23.0 h5py 2.9.0 Keras-Applications 1.0.8 Keras-Preprocessing 1.1.0 Markdown 3.1.1 mock 3.0.5 numpy 1.16.5 pip 19.2.3 protobuf 3.9.1 setuptools 41.2.0 six 1.12.0 tensorboard 1.14.0 tensorflow 1.14.0 tensorflow-estimator 1.14.0 termcolor 1.1.0 Werkzeug 0.15.5 wheel 0.33.6 wrapt 1.11.2 2.资源准备 安装包下载 百度云盘链接:https://pan.baidu.com/s/1cm9mZpP1JRwyGpq945ffaQ 提取码:8bxj 3.安装 a).安装python-devel ## 在线安装 yum install python-devel ## 离线安装 rpm -ivh python-devel-2.7.5-80.el7_6.x86_64.rpm b).安装virtualenv ## 在线安装 pip install virtualenv ## 离线安装 c).安装tensorflow 进入虚拟机,安装tensorflow ## Step1: 创建虚拟机 virtualenv tensorflow ## Step2: 进入虚拟机 source ./tensorflow/bin/activate ## 在线安装 pip install tensorflow ## 离线安装 pip install --no-index --find-links=/path/to/tensorflow_1.14.0_package -r tensorflow_requirement.txt 4.测试 测试代码 import tensorflow as tf mnist = tf.keras.datasets.mnist (x_train, y_train),(x_test, y_test) = mnist.load_data() x_train, x_test = x_train / 255.0, x_test / 255.0 model = tf.keras.models.Sequential([ tf.keras.layers.Flatten(input_shape=(28, 28)), tf.keras.layers.Dense(128, activation='relu'), tf.keras.layers.Dropout(0.2), tf.keras.layers.Dense(10, activation='softmax') ]) model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy']) model.fit(x_train, y_train, epochs=5) model.evaluate(x_test, y_test) 执行测试 python test.py 测试结果 5.环境依赖下载 ## python-devel http://mirror.centos.org/centos/7/updates/x86_64/Packages/python-devel-2.7.5-80.el7_6.x86_64.rpm ## tensorflow-1.14.0 https://files.pythonhosted.org/packages/d3/59/d88fe8c58ffb66aca21d03c0e290cd68327cc133591130c674985e98a482/tensorflow-1.14.0-cp27-cp27mu-manylinux1_x86_64.whl ## pip-19.2.3 https://files.pythonhosted.org/packages/00/9e/4c83a0950d8bdec0b4ca72afd2f9cea92d08eb7c1a768363f2ea458d08b4/pip-19.2.3.tar.gz ## virtualenv https://files.pythonhosted.org/packages/f7/69/1ad2d17560c4fc60170056dcd0a568b83f3453a2ac91155af746bcdb9a07/virtualenv-16.7.4-py2.py3-none-any.whl

优秀的个人博客,低调大师

docker部署sonarqube

gitlab-ce + gitlab-runner + sonarqube,在提交代码时对代码质量进行检测,对不符合要求的代码不允许提交到gitlab 1、配置docker-compose.yml version: '3.1' services: gitlab-ce: image: 'gitlab/gitlab-ce:latest' container_name: gitlab-ce restart: always hostname: 'gitlab.localhost.com' environment: GITLAB_OMNIBUS_CONFIG: | external_url 'http://192.168.31.109' ports: - '80:80' - '443:443' - '10022:22' volumes: - '/root/gitlab-ce/home/config:/etc/gitlab' - '/root/gitlab-ce/home/logs:/var/log/gitlab' - '/root/gitlab-ce/home/data:/var/opt/gitlab' networks: - 'default' gitlab-runner: image: 'gitlab/gitlab-runner:latest' container_name: gitlab-runner depends_on: - 'gitlab-ce' restart: always volumes: - '/root/gitlab-ce/runnerconfig:/etc/gitlab-runner' - '/var/run/docker.sock:/var/run/docker.sock' networks: - 'default' links: - 'gitlab-ce:gitlab.localhost.com' mysql: image: mysql:5.7.27 container_name: mysql command: --default-authentication-plugin=mysql_native_password restart: always ports: - 3306:3306 volumes: - /root/gitlab-ce/mysql/data:/var/lib/mysql - /root/gitlab-ce/mysql/logs:/logs - /root/gitlab-ce/mysql/init:/docker-entrypoint-initdb.d environment: MYSQL_ROOT_PASSWORD: root@123456 MYSQL_USER: test #创建test用户 MYSQL_PASSWORD: test #设置test用户的密码 networks: - 'default' sonarqube: image: sonarqube:7.7-community # image: sonarqube:latest container_name: sonarqube ports: - "9000:9000" - "9002:9002" volumes: - "/root/gitlab-ce/sonarqube/conf:/opt/sonarqube/conf" - "/root/gitlab-ce/sonarqube/extensions:/opt/sonarqube/extensions" - "/root/gitlab-ce/sonarqube/logs:/opt/sonarqube/logs" - "/etc/sysctl.conf:/etc/sysctl.conf" # - "/root/gitlab-ce/sonarqube/data:/opt/sonarqube/data" environment: sonar.jdbc.username: root #root管理员用户密码 sonar.jdbc.password: root@123456 #创建test用户 sonar.jdbc.url: "jdbc:mysql://mysql:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false" restart: always depends_on: - mysql links: - mysql networks: - 'default' sysctls: - net.core.somaxconn=1024 ulimits: nproc: 65536 nofile: soft: 65536 hard: 65536 networks: default: driver: 'bridge'

资源下载

更多资源
腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册