环境选择

容器需要管理工具、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容器的更多相关文章

  1. 运行第一个Docker容器

    1. Docker介绍 Docker由dotCloud公司发起的一个内部项目,后来Docker火了,dotCloud公司改名为Docker了: Docker使用了Go语言开发,基于 Linux 内核的 ...

  2. 运行第一个Docker容器-Docker for Web Developers(1)

    1. Docker介绍 Docker由dotCloud公司发起的一个内部项目,后来Docker火了,dotCloud公司改名为Docker了: Docker使用了Go语言开发,基于 Linux 内核的 ...

  3. 如何修改运行中的docker容器的端口映射和挂载目录

    在docker run创建并运行容器的时候,可以通过-p指定端口映射规则.但是,我们经常会遇到刚开始忘记设置端口映射或者设置错了需要修改.当docker start运行容器后并没有提供一个-p选项或设 ...

  4. 教你如何修改运行中的docker容器的端口映射

    在docker run创建并运行容器的时候,可以通过-p指定端口映射规则.但是,我们经常会遇到刚开始忘记设置端口映射或者设置错了需要修改.当docker start运行容器后并没有提供一个-p选项或设 ...

  5. [转帖]教你如何修改运行中的docker容器的端口映射

    教你如何修改运行中的docker容器的端口映射   在docker run创建并运行容器的时候,可以通过-p指定端口映射规则.但是,我们经常会遇到刚开始忘记设置端口映射或者设置错了需要修改.当dock ...

  6. 如何修改运行中的docker容器的端口映射

    在docker run创建并运行容器的时候,可以通过-p指定端口映射规则.但是,我们经常会遇到刚开始忘记设置端口映射或者设置错了需要修改.当docker start运行容器后并没有提供一个-p选项或设 ...

  7. Compose 定位是 「定义和运行多个 Docker 容器的应用(Defining and running multi-container Docker applications)」

    Compose 简介 | Docker 从入门到实践 https://vuepress.mirror.docker-practice.com/compose/introduction.html Com ...

  8. 一个docker容器中运行多个服务还是弄一堆docker容器运行?

    不建议直接在单个 Docker 容器中运行多个程序. 以 2017年 10 月18 日 Docker 官方支持 Kubernetes 为分水岭计算,Kubernetes 赢得容器编排之战的最终胜利已经 ...

  9. docker学习-运行第一个docker镜像hello world

    docker pull  [OPTIONS] NAME[:TAG]:从远程仓库拉取一个镜像到本地,NAME是要拉取的镜像的名称,TAG是docker镜像的版本,不指定的话默认是最新版本 docker ...

随机推荐

  1. java读写本地xml

    <?xml version="1.0" encoding="UTF-8" standalone="no"?> <confi ...

  2. Jmeter服务器监控插件使用

    Jmeter服务器监控插件使用 Jmeter-Plugins支持CPU.Memory.Swap.Disk和Network的监控,在测试过程中更加方便进行结果收集和统计分析. 一.准备工作: 1.下载J ...

  3. 学习使用 ARM 的 math 库,据说 速度比C标准库 自带的 快 几十倍 到几百倍

    1.首先 添加 库 到 工程 ,路径 如下 C:\Keil\ARM\CMSIS\Lib\ARM 2.包含头文件以及在 工程里 添加 头文件 路径如下  C:\Keil\ARM\CMSIS\Includ ...

  4. 我的QT5学习之路(目录)

    说明:本目录内容为自己学习的心得和记录,参考资料来源于网络,学习过程中多方汲取,如有错误,欢迎指正和批评. Qt开发相关文章目录 一.我的Qt学习之路系列 1.[笔记]我的Qt学习之路(一)——浅谈Q ...

  5. iOS:UITableView相关(18-10-20更)

    UITableView用得较多,遇到的情况也较多,单独记录一篇. 一.零散的技巧 二.取cell 三.cell高度 四.导航栏.TableView常见问题相关 五.自定义左滑删除按钮图片 六.仅做了解 ...

  6. 纯swift开发,弹幕,演唱会广告牌

    最近去了次演唱会,看见有人在用这个,刚好没事,我自己也写了一个. 顺手练一练swift,第一个纯swift开发工程. 支持字体大小切换,滚动速度切换,字体切换,字体颜色切换 工程Git:https:/ ...

  7. ajax 动态载入html后不能执行其中的js解决方法

    事件背景 有一个公用页面需要在多个页面调用,其中涉及到部分js已经写在了公用页面中,通过ajax加载该页面后无法执行其中的js. 解决思路 1. 采用附加一个iframe的方法去执行js,为我等代码洁 ...

  8. mysql-8.0.15允许外网访问

    1.进MySQL之后, 2.输入以下语句,进入mysql库: use mysql3.更新域属性,'%'表示允许外部访问: update user set host='%' where user ='r ...

  9. CentOS7.6离线安装Tomcat8.5

    准备好tomcat安装文件: 官网下载apache-tomcat-8.5.39.tar.gz文件并复制到/usr/tomcat文件夹中. 解压tomcat安装文件: 进入/usr/tomcat文件:c ...

  10. PHP && ,and ,||,or 的区别

    PHP中的逻辑“与”运算有两种形式:AND 和 &&,同样“或”运算也有OR和||两种形式. 如果是单独两个表达式参加的运算,两种形式的结果完全相同,例如 $a AND $b和$a & ...