Centos8上安装docker

一、安装虚拟机和Centos8系统

1、安装虚拟机
链接:https://pan.baidu.com/s/1dSJ-vR-Oq9YuPap5dI4OfQ
提取码:8nvx

2、安装Centos8镜像
链接:https://pan.baidu.com/s/19TPMaoAEV3Zg09x2vX9ROA
提取码:874a
安装步骤请百度查询。

二、设置Centos8的网络

1、在“虚拟机”“设置”中将centos系统的网络适配器选择NAT模式,
直接就是和主机共用一个IP了,比较方便;


image.png

2、打开CentOS8系统,登陆后,输入ip add查看网络情况,ent33就是本机的网卡;


image.png

3、cd /etc/sysconfig/network-scripts 打开目录,ls 查看目录中的文件, ifcfg-ens33这里是你的网卡的名字
image.png

4、vi ifcfg-ens33打开配置文件,按ESC键和字母i键进入增加模式,把onboot=no改为onboot = yes ,按Esc键退出编辑模式,输入:wq保存并退出;
image.png

三、Centos8更改yum源

如果不更改下载docker依赖时会报错:
Errors during downloading metadata for repository ‘AppStream‘

  1. 备份原始的yum源
cd /etc/yum.repos.d
cp CentOS-Base.repo CentOS-Base.repo.bak
  1. 下载对应版本的repo文件
wget -O CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-8.repo
  1. 清除旧的yum缓存并生成新的yum缓存
yum clean all
yum makecache
  1. 更新
yum update -y

四、安装docker

使用 Docker 仓库进行安装
在新主机上首次安装 Docker Engine-Community 之前,需要设置 Docker 仓库。之后,您可以从仓库安装和更新 Docker。

1、安装所需的软件包。yum-utils 提供了 yum-config-manager ,并且 device mapper 存储驱动程序需要 device-mapper-persistent-data 和 lvm2。

sudo yum install -y yum-utils \
  device-mapper-persistent-data \
  lvm2

2、设置稳定的仓库,选择阿里云的仓库

sudo yum-config-manager \
    --add-repo \
    http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

3、安装 Docker Engine-Community,可以指定版本或者不指定版本
查看仓库中有哪些版本的docker

yum list docker-ce --showduplicates | sort -r
image.png

通过其完整的软件包名称安装特定版本,该软件包名称是软件包名称(docker-ce)加上版本字符串(第二列),从第一个冒号(:)一直到第一个连字符,并用连字符(-)分隔。例如:docker-ce-20.10.3。

指定版本安装docker:

sudo yum install --allowerasing docker-ce-20.10.3 docker-ce-cli-20.10.3 containerd.io

安装成功后启动docker

sudo systemctl start docker

通过运行 hello-world 映像来验证是否正确安装了 Docker Engine-Community

sudo docker run hello-world
image.png

五、docker命令--容器使用

使用docker run命令在容器中运行一个应用程序:
docker run ubuntu:15.10 /bin/echo "Hello world"
ubuntu:15.10是镜像,docker首先在本地主机上查找镜像是否存在,如果不存在会从镜像仓库docker hub下载公共镜像。
以上的命令是创建ubuntu:15.10的容器,然后在容器里执行/bin/echo "Hello world" 并输出。

docker run -i -t ubuntu:15.10 /bin/bash
-i: 允许你对容器内的标准输入 (STDIN) 进行交互
-t: 在新容器内指定一个伪终端或终端。

docker ps 查看在运行的容器。
docker stop 命令来停止容器。
docker pull ubuntu命令来载入 ubuntu 镜像。
docker ps -a 查看所有容器
容器的状态:
STATUS: 容器状态。
状态有7种:
created(已创建)
restarting(重启中)
running 或 Up(运行中)
removing(迁移中)
paused(暂停)
exited(停止)
dead(死亡)


image.png

红框中是docker容器id。

docker start b750bbbcfd88(容器id) 启动docker容器:


image.png

停止docker容器:
docker stop <容器 ID>
重启docker容器:
docker restart <容器 ID>


image.png

删除docker容器:
docker rm -f <容器 ID>
清理掉所有处于终止状态的容器。
ocker container prune

六、docker命令--镜像使用

镜像和容器的关系就好比类和实例的关系,一个类可以创建多个实例,一个镜像可以创建多个容器。
docker images 来列出本地主机上的镜像。
docker run -t -i ubuntu:15.10 /bin/bash 使用ubuntu:15.10的镜像运行容器,并进入容器内部,输入exit退出容器。
docker pull ubuntu:13.10 下载ubuntu:13.10的镜像。
docker search httpd 查找httpd的镜像。
docker run httpd 运行镜像。
docker rmi hello-world 删除镜像。

七、docker命令--容器连接

八、docker命令--docker仓库

docker search ubuntu查找官方仓库的镜像
docker pull ubuntu 从官方仓库拉取镜像


image.png

九、docker命令--Docker Dockerfile

dockerfile是一个文本文件,该文件中包含了一条条构建镜像文件的指令。
镜像文件中的指令说明,请参考:https://www.runoob.com/docker/docker-dockerfile.html

十、docker--数据卷volume

docker数据持久化,在Docker中,要想实现数据的持久化(所谓Docker的数据持久化即数据不随着Container的结束而结束),需要将数据从宿主机挂载到容器中,比如一份配置文件可以在多个容器中共用。

虚拟机本地创建一个目录,把本地目录挂载到容器中一个目录,进入容器目录中创建文件,回到本地目录能看到在容器中创建的文件,保持数据的一致性。

docker create -v $PWD/data:/var/mydata --name data_container ubuntu

创建一个容器,-v 是要使用volume挂载文件,$PWD/data:/var/mydata是本地data目录挂载到容器/var/mydata目录中,--name是创建的容器的名称,ubuntu是使用的基础镜像。

docker run -it --volumes-from data_container ubuntu /bin/bash
运行容器,从data_container容器中挂载文件,ubuntu是基础镜像文件,/bin/bash是可以进入命令行进行执行命令


image.png

image.png

image.png

把本地文件挂载到容器中,本地文件更改,容器中也跟着更改。
docker run -p 80:80 -d -v $PWD/html:/usr/share/nginx/html nginx
运行容器,-p 80:80映射端口号到本地,-v使用volume挂载文件,本地html目录下的文件挂载到/usr/share/nginx/html目录中。
本地文件内容:


image.png

调接口查看内容和本地文件内容一致:


image.png

修改内容,再次查看内容变化:
image.png

更多内容可以参考:https://www.cnblogs.com/edisonchou/p/docker_volumes_introduction.html

十、docker--Docker Compose

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,088评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,715评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,361评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,099评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 60,987评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,063评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,486评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,175评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,440评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,518评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,305评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,190评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,550评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,880评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,152评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,451评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,637评论 2 335

推荐阅读更多精彩内容