2-docker 安装

2-docker 安装

Ubuntu 安装

由于 apt 源使用 HTTPS 以确保软件下载过程中不被篡改。因此,我们首先需要添加使用 HTTPS 传输的软件包以及 CA 证书。

$ sudo apt-get update$ sudo apt-get install \apt-transport-https \ca-certificates \curl \gnupg-agent \software-properties-common

为了确认所下载软件包的合法性,需要添加软件源的 GPG 密钥。

$ curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -# 官方源
# $ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

然后,我们需要向 source.list 中添加 Docker 软件源

$ sudo add-apt-repository \"deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu \$(lsb_release -cs) \stable"# 官方源
# $ sudo add-apt-repository \
#    "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
#    $(lsb_release -cs) \
#    stable"

以上命令会添加稳定版本的 Docker CE APT 镜像源,如果需要最新或者测试版本的 Docker CE 请将 stable 改为 edge 或者 test。从 Docker 17.06 开始,edge test 版本的 APT 镜像源也会包含稳定版本的 Docker。

安装 Docker CE

$ sudo apt-get update$ sudo apt-get install docker-ce

Centos 安装

  1. 安装依赖
$ sudo yum install -y yum-utils \device-mapper-persistent-data \lvm2
  1. 添加稳定版本的仓库
$ sudo yum-config-manager \--add-repo \https://download.docker.com/linux/centos/docker-ce.repo
  1. 安装
sudo yum install docker-ce

会提示你 Is this OK? 输入 y 然后回车。之后会再次提示确认指纹信息,看一下是否是 060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35(不区分大小写),如果是,再次输入 y 然后回车,一般都没问题。

使用脚本自动安装

在测试或开发环境中 Docker 官方为了简化安装流程,提供了一套便捷的安装脚本,Ubuntu 系统上可以使用这套脚本安装:

$ curl -fsSL get.docker.com -o get-docker.sh
$ sudo sh get-docker.sh --mirror Aliyun

如果 get-docker.sh 不能下载,点击下载。
执行这个命令后,脚本就会自动的将一切准备工作做好,并且把 Docker CE 的 Edge 版本安装在系统中。

启动 Docker CE

$ sudo systemctl enable docker
$ sudo systemctl start docker

Ubuntu 14.04 请使用以下命令启动:

$ sudo service docker start

建立 docker 用户组

默认情况下,docker 命令会使用 Unix socket 与 Docker 引擎通讯。而只有 root 用户和 docker 组的用户才可以访问 Docker 引擎的 Unix socket。出于安全考虑,一般 Linux 系统上不会直接使用 root 用户。因此,更好地做法是将需要使用 docker 的用户加入 docker 用户组。

建立 docker 组:

$ sudo groupadd docker

将当前用户加入 docker 组:

$ sudo usermod -aG docker $USER

退出当前终端并重新登录,进行如下测试。

测试 Docker 是否安装正确

$ docker run hello-worldUnable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
ca4f61b1923c: Pull complete
Digest: sha256:be0cd392e45be79ffeffa6b05338b98ebb16c87b255f48e297ec7f98e123905c
Status: Downloaded newer image for hello-world:latestHello from Docker!
This message shows that your installation appears to be working correctly.To generate this message, Docker took the following steps:1. The Docker client contacted the Docker daemon.2. The Docker daemon pulled the "hello-world" image from the Docker Hub.(amd64)3. The Docker daemon created a new container from that image which runs theexecutable that produces the output you are currently reading.4. The Docker daemon streamed that output to the Docker client, which sent itto your terminal.To try something more ambitious, you can run an Ubuntu container with:$ docker run -it ubuntu bashShare images, automate workflows, and more with a free Docker ID:https://cloud.docker.com/For more examples and ideas, visit:https://docs.docker.com/engine/userguide/

若能正常输出以上信息,则说明安装成功。

镜像加速

鉴于国内网络问题,后续拉取 Docker 镜像十分缓慢,强烈建议安装 Docker 之后配置 国内镜像加速

Ubuntu 16.04+、Debian 8+、CentOS 7

对于使用 systemd 的系统,请在 /etc/docker/daemon.json 中写入如下内容(如果文件不存在请新建该文件)

{"registry-mirrors": ["https://registry.docker-cn.com"]
}

注意,一定要保证该文件符合 json 规范,否则 Docker 将不能启动。

配置Docker DNS

第一种方式:

/etc/docker/daemon.json 配置全部容器的 DNS,文件中增加以下内容来设置。

  "dns" : ["114.114.114.114","8.8.8.8"]

然后重启 docker 服务,并验证:

sudo service docker restart
vincent@scijet_server_1:~$ docker exec -it gitlab-runner bash
root@5d4b8905c983:/# cat /etc/resolv.conf 
nameserver 114.114.114.114
nameserver 8.8.8.8
nameserver 8.8.4.4
nameserver 127.0.0.1
root@5d4b8905c983:/# exit

第二种方式:

所有 Docker 容器的 DNS 配置通过 /etc/resolv.conf 文件立刻得到更新。

# 在容器中使用 mount 命令可以看到挂载信息:$ mount
/dev/disk/by-uuid/1fec...ebdf on /etc/hostname type ext4 ...
/dev/disk/by-uuid/1fec...ebdf on /etc/hosts type ext4 ...
tmpfs on /etc/resolv.conf type tmpfs ...

有关daemon.json文件

以下是完整的daemon.json文件可配置的参数表,我们在配置的过程中,只需要设置我们需要的参数即可,不必全部写出来。详细参考,官方文档。

{"api-cors-header": "","authorization-plugins": [],"bip": "","bridge": "","cgroup-parent": "","cluster-store": "","cluster-store-opts": {},"cluster-advertise": "","debug": true,"default-gateway": "","default-gateway-v6": "","default-runtime": "runc","default-ulimits": {},"disable-legacy-registry": false,"dns": [],"dns-opts": [],"dns-search": [],"exec-opts": [],"exec-root": "","fixed-cidr": "","fixed-cidr-v6": "","graph": "","group": "","hosts": [],"icc": false,"insecure-registries": [],"ip": "0.0.0.0","iptables": false,"ipv6": false,"ip-forward": false,"ip-masq": false,"labels": [],"live-restore": true,"log-driver": "","log-level": "","log-opts": {},"max-concurrent-downloads": 3,"max-concurrent-uploads": 5,"mtu": 0,"oom-score-adjust": -500,"pidfile": "","raw-logs": false,"registry-mirrors": [],"runtimes": {"runc": {"path": "runc"},"custom": {"path": "/usr/local/bin/my-runc-replacement","runtimeArgs": ["--debug"]}},"selinux-enabled": false,"storage-driver": "","storage-opts": [],"swarm-default-advertise-addr": "","tls": true,"tlscacert": "","tlscert": "","tlskey": "","tlsverify": true,"userland-proxy": false,"userns-remap": ""
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/536112.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

U-Net++粗略解释

Paper:UNet: A Nested U-Net Architecture for Medical Image Segmentation u-net网络的基本拓扑结构 目前最先进的图像分割模型是各种个同样的 encoder-decoder架构,他们具有一个关键的相似性:skip connections,它可以将编码器…

Spring中的组合模式

组合模式是一种对象设计模式,它允许你将对象组合成树形结构以表示“部分-整体”的层次结构,使得客户端以统一的方式处理单个对象和对象的组合。在Spring框架中,组合模式被广泛应用,让我们深入分析一下。 在Spring中,组…

Docker+Nginx部署Angular

DockerNginx部署Angular 在部署Angular生产环境之前,需要电脑已经安装docker。 添加Dockerfile 在已经完成的Angular项目的项目根目录下添加Dockerfile文件。 Dockerfile文件内容: FROM nginx:1.11-1.11-alpine COPY index.html /usr/share/nginx/ht…

U-net网络详解

U-net网络 简单说一下网络图中各项所代表的内容: 蓝/白色框表示feature map(特征图) 蓝色箭头表示3x3卷积,主要用于特征提取 灰色箭头表示skip-connection(跳跃连接,通常用于残差网络中),在这里是用于用于特征融合&…

Angular Web App部署Ubuntu Nginx

Angular Web App部署Ubuntu Nginx 当我们想发布Angular Web App的时候,我们想在开发的时候部署测试,那么这篇文章使用Nginx来部署我们的Angular 系统环境 lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 16.04.4 LTS Rele…

遗传算法-01背包

遗传算法 算法思想 遗传算法(Genetic Algorithm, GA)是模拟达尔文生物进化论的自然选择和遗传学机理的生物进化过程的计算模型,是一种通过模拟自然进化过程搜索最优解的方法。 其主要特点是直接对结构对象进行操作,不存在求导和函…

Angular Web App部署Linux Nginx Https

Angular Web App部署Linux Nginx Https 提示:这篇文章是基于内网的 互联网就开始将 WEB 服务从 HTTP 迁移到 HTTPS,而现在为了更快的推进 HTTPS 的普及,Chrome 将从 2018 年 7 月起标记所有的 HTTP 网站为不安全链接。 HTTPS 会逐渐成为 WEB 服务的标配,最最重要的是,它能…

SOLO算法简读

论文链接:https://arxiv.org/abs/1912.04488 代码链接:https://github.com/WXinlong/SOLO 摘要 提出一种新的实例分割方法。与语义分割等其他密集预测任务相比,实例分割的难度要大得多。为了预测每个实例的掩码,主流方法要么遵…

Rxjs的flatMap使用

Rxjs的flatMap使用 flatMap是Rxjs比较绕的一个概念,这里我们只是讲解如何使用。在Rxjs 4.0版本时叫flatMap,在Rxjs 5.0时被更名为margeMap,现在flatMap作为margeMap的别名使用,这是考虑向下兼容。 官方flatMap的定义: Projects each sourc…

关于Loss的简单总结

Dice Loss 参考:https://blog.csdn.net/l7H9JA4/article/details/108162188 Dice系数: 是一种集合相似度度量函数,通常用于计算两个样本的相似度,取值范围为[0,1]。 s2∣X∩Y∣∣X∣∣Y∣s \frac{2|X ∩ Y|}{|X||Y|} s∣X∣∣Y…

Angular_PWA使用+Demo

Angular_PWA使用+Demo 什么是PWA PWA(Progressive Web App)利用TLS,webapp manifests和service workers使应用程序能够安装并离线使用。 换句话说,PWA就像手机上的原生应用程序,但它是使用诸如HTML5,JavaScript和CSS3之类的网络技术构建的。 如果构建正确,PWA与原生应…

SOLOv2论文简读

论文:SOLOv2: Dynamic, Faster and Stronger 代码:https://github.com/WXinlong/SOLO 摘要 主要提出了作者在SOLOv2中实现的优秀的实例分割方法,旨在创建一个简单、直接、快速的实例分割框架: 通过提出动态学习对象分割器的mas…

Angular6_PWA

Angular6_PWA Angular正式发布了V6.0,我们已经可以利用对应的@angular/cli V6.0来直接开发PWA应用了。 第一步:安装@angular/cli V6.0 如果你机器上有老版本,请先卸载。 打开你的终端,执行: npm install -g @angular/cli 或 cnpm install -g @angular/cli 安装成功…

Ubuntu18.04 关于使用vnc的踩坑

由于种种原因,手上多了一台可使用的桌面版Ubuntu,正好用来测试代码,方便调试。因为只能远程,所以需要配置远程连接。因此就打算使用vnc进行远程连接,谁料一路坎坷,特此记录。 安装 设置桌面共享 需要注意…

App_Shell模型

App_Shell模型 App Shell 架构是构建 Progressive Web App 的一种方式,这种应用能可靠且即时地加载到您的用户屏幕上,与本机应用相似。 App shell是支持用户界面所需的最小的 HTML、CSS 和 JavaScript,如果离线缓存,可确保在用户重复访问时提供即时、可靠的良好性能。这意…

Angular6_服务端渲染SSR

Angular6_服务端渲染 在使用服务端渲染之前,需要安装最新版本的Angular。 npm install -g @angular/cli 或 cnpm install -g @angular/cli github项目 创建项目 ng new PWCat --routing 为项目添加universalng g universal --client-project=PWCat 或

Jenkins自定义主题教程

Jenkins自定义主题 由于Jenkins自带的样式比较丑陋,所以有很多第三方的样式库,这里针对jenkins-material-theme样式库做一个安装教程。 下载样式库 下载连接 Select your color 选择一个你喜欢的主题颜色。Choose your company logo 上传你自定义的…

IndexedDB_Web 离线数据库

IndexedDB_Web 离线数据库 本文会从头剖析一下 IndexedDB 在前端里面的应用的发展。 indexedDB 目前在前端慢慢得到普及和应用。它正朝着前端离线数据库技术的步伐前进。以前一开始是 manifest、localStorage、cookie 再到 webSQL,现在 indexedDB 逐渐被各大浏览器认…

Angular 单元测试讲解

Angular_单元测试 测试分类 按开发阶段划分按是否运行划分按是否查看源代码划分其他ATDD,TDD,BDD,DDD ATDDTDDBDDDDDAngular单元测试 Karma的介绍jasmine介绍单元测试的好处使用jasmine和karma创建一个Angular项目Karma配置Test.ts文件测试体验测试Form测试服务service常用断言…

基于 Docker 的微服务架构

基于 Docker 的微服务架构-分布式企业级实践前言Microservice 和 Docker服务发现模式客户端发现模式Netflix-Eureka 服务端发现模式ConsulEtcdZookeeper 服务注册自注册模式 Self-registration pattern第三方注册模式 Third party registration pattern小结一 服务间的 IPC 机制…