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 80:80 httpd docker ps docker -v

 

posted @ 2018-12-18 15:52  bwzbk  阅读(306)  评论(0编辑  收藏  举报