03-运行第一个docker容器
环境选择
容器需要管理工具、runtime 和操作系统,我们的选择如下:
1、管理工具 - Docker Engine
因为 Docker 最流行使用最广泛。
2、runtime - runc
Docker 的默认 runtime
3、操作系统 - Ubuntu
虽然存在诸如 CoreOS 的容器 OS,因考虑到我们目前处于初学阶段,选择大家熟悉的操作系统更为合适。等具备了扎实的容器基础知识后再使用容器 OS 会更有利。
安装 Docker
Docker 支持几乎所有的 Linux 发行版,也支持 Mac 和 Windows。各操作系统的安装方法可以访问:https://docs.docker.com/engine/installation/
本节将在ubuntu18.04虚拟机中安装Docker,因为安装过程需要访问 internet, 所以虚拟机必须能够上网。
Docker 分为开源免费的 CE(Community Edition)版本和收费的 EE(Enterprise Edition)版本。下面我们将按照文档,通过以下步骤在 Ubuntu 18.04 上安装 Docker CE 版本。
配置 Docker 的 apt 源
ubuntu18.04配置网络
vim /etc/netplan/50-cloud-init.yaml
修改dns
vim /etc/systemd/resolved.conf
1、安装包,允许 apt
命令 HTTPS 访问 Docker 源。
apt-get update
apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
2、添加 Docker 官方的 GPG
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
apt-key fingerprint 0EBFCD88
3. 将 Docker 的源添加到 /etc/apt/sources.list
add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
安装 Docker
更新软件列表
apt-get update
更新软件
atp-get upgrade
生产环境安装docker要指定版本安装,不要安装最新版本。首先运行下行的命令,找到和ubuntu当前版本对应的docker版本。
apt-get install docker-ce docker-ce-cli containerd.io
root@zbw-docker01:~# docker -v
Docker version 18.09.6, build 481bc77
centos7安装docker
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum install docker-ce docker-ce-cli containerd.io
systemctl start docker
运行第一个容器
docker run -d -p 80:80 httpd
其过程可以简单的描述为:
a、Docker 客户端执行 docker run 命令。
b、Docker daemon 发现本地没有 httpd 镜像,从 Docker Hub 下载 httpd 镜像。镜像中已经安装好了 Apache HTTP Server。
c、下载完成,镜像 httpd 被保存到本地。
d、Docker daemon 启动容器,并将容器的 80 端口映射到 host 的 80 端口。
用浏览器验证是否正常工作
镜像下载加速
由于 Docker Hub 的服务器在国外,下载镜像会比较慢。修改为国内镜像服务器。
a、在 daocloud.io 免费注册一个用户。
b、登陆后,点击更多,加速器
c、curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://82542146.m.daocloud.io
d、重启 Docker deamon,即可体验飞一般的感觉。
systemctl restart docker.service
附自动安装脚本:
vim docker-install.sh
#!/bin/bash #change apt source
cat > /etc/apt/sources.list << EOF
deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
EOF apt-get update
apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common -y
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
apt-get update
apt-get install docker-ce docker-ce-cli containerd.io -y #add daocloud.io images source
curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://82542146.m.daocloud.io
systemctl restart docker.service docker run -d -p : httpd
docker ps
docker -v
03-运行第一个docker容器的更多相关文章
- 运行第一个Docker容器
1. Docker介绍 Docker由dotCloud公司发起的一个内部项目,后来Docker火了,dotCloud公司改名为Docker了: Docker使用了Go语言开发,基于 Linux 内核的 ...
- 运行第一个Docker容器-Docker for Web Developers(1)
1. Docker介绍 Docker由dotCloud公司发起的一个内部项目,后来Docker火了,dotCloud公司改名为Docker了: Docker使用了Go语言开发,基于 Linux 内核的 ...
- 如何修改运行中的docker容器的端口映射和挂载目录
在docker run创建并运行容器的时候,可以通过-p指定端口映射规则.但是,我们经常会遇到刚开始忘记设置端口映射或者设置错了需要修改.当docker start运行容器后并没有提供一个-p选项或设 ...
- 教你如何修改运行中的docker容器的端口映射
在docker run创建并运行容器的时候,可以通过-p指定端口映射规则.但是,我们经常会遇到刚开始忘记设置端口映射或者设置错了需要修改.当docker start运行容器后并没有提供一个-p选项或设 ...
- [转帖]教你如何修改运行中的docker容器的端口映射
教你如何修改运行中的docker容器的端口映射 在docker run创建并运行容器的时候,可以通过-p指定端口映射规则.但是,我们经常会遇到刚开始忘记设置端口映射或者设置错了需要修改.当dock ...
- 如何修改运行中的docker容器的端口映射
在docker run创建并运行容器的时候,可以通过-p指定端口映射规则.但是,我们经常会遇到刚开始忘记设置端口映射或者设置错了需要修改.当docker start运行容器后并没有提供一个-p选项或设 ...
- Compose 定位是 「定义和运行多个 Docker 容器的应用(Defining and running multi-container Docker applications)」
Compose 简介 | Docker 从入门到实践 https://vuepress.mirror.docker-practice.com/compose/introduction.html Com ...
- 一个docker容器中运行多个服务还是弄一堆docker容器运行?
不建议直接在单个 Docker 容器中运行多个程序. 以 2017年 10 月18 日 Docker 官方支持 Kubernetes 为分水岭计算,Kubernetes 赢得容器编排之战的最终胜利已经 ...
- docker学习-运行第一个docker镜像hello world
docker pull [OPTIONS] NAME[:TAG]:从远程仓库拉取一个镜像到本地,NAME是要拉取的镜像的名称,TAG是docker镜像的版本,不指定的话默认是最新版本 docker ...
随机推荐
- Selenium自动化测试值环境搭建
Selenium自动化测试之环境搭建 一.背景介绍 自动化测试近几年在测试领域很火,出去面试要是说不会自动化测试薪资都不好意思往高了要!很多公司做敏捷测试用到自动化,其他一些公司也是跟风,即使用不上自 ...
- sdn测量综述
一 文章名称:A Survey on Security-Aware Measurement in SDN 发表时间:2018 来源:<Security & Communication N ...
- webapi中的模型验证
mic: https://docs.microsoft.com/en-us/aspnet/web-api/overview/formats-and-model-binding/model-valida ...
- 寻找最小的k个数(四种方法)
1 使用从大到小的优先队列保存最小的K个数,每次取出K个数之后的其余数和堆顶元素比较,如果比堆顶元素小,则将堆顶元素删除,将该元素插入 void topK(int arr[],int n,int k) ...
- Oracle服务
oracle服务 参考网址:http://www.oraclejsq.com/article/010100132.html Oracle在window下安装完毕,会安装很多服务,如下图: 1.Orac ...
- Python中级 —— 06SMTP发送电子邮件
Email的历史比Web还要久远,直到现在,Email也是互联网上应用非常广泛的服务.(未完)
- 可编辑div中包含子元素时获取光标位置不准确的问题
前言: 高亮显示输入框中的关键字符,这就必须得用到可编辑div(或其他标签)元素了,这时我们需要获取光标的位置,以便插入字符. 正文: 正常情况下获取光标位置,代码如下: function getPo ...
- redis、Memcached、MongoDb使用心得
最近在思考数据库以及缓存的问题,发现这些知识点其实是有一点关联的,于是这篇文章通过一个连环提问的方式将这些知识点串联起来. 问:为什么要用 Memcached.Redis,直接用 MySQL 这些数据 ...
- PHP的strtotime()函数2038年bug问题
最近在开发一个订单查询模块的时候,想当然的写了个2099年的日期,结果PHP返回了空值,肯定是发生溢出错误了,搜索了网上,发现下面这篇文章,但是我的问题依然没有解决,要怎么得到2038年以后的时间戳呢 ...
- 1.Hadoop集群安装部署
Hadoop集群安装部署 1.介绍 (1)架构模型 (2)使用工具 VMWARE cenos7 Xshell Xftp jdk-8u91-linux-x64.rpm hadoop-2.7.3.tar. ...