Docker容器从一知半解到入门
Docker是一个开源的、跨平台的应用容器引擎,可以让技术开发认用打包他们的应用以及一些依赖包到一个可移植的容器平台中,发布到任何流行的Linux操作系统上面,也可以在Windows和mac操作系统上面跑,容器是完全使用沙箱机制,容器相互之间不会存在任何接口。docker应用广泛、安全性好、运行快、节约资源、移植性好、自动化部署快等有点。
下面我们来看一张docker镜像基本原处理图:
我们在学习Docker镜像的时候,使用系统默认的yum源安装会非常慢,很有可能会安装失败,因为docker服务器在国外,访问速度非常慢,访问网络也不稳定,而且国外的docker hub拉取镜像也太慢了,我们可以直接修改用国内的阿里的容器Hub服务 cr.console.aliyun的控制台,这里需要登录阿里账号或者支付宝账号,也可以使用腾讯云、百度云、华为云、ucloud、网易云等都有docker镜像hub,我这里使用的阿里云镜像服务;在学习docker容器的前提下还是要对Linux要有点基础,这样学起来就容易上手,如果完全不懂Linux,还是建议你去学习下《Linux就该这么学》这边教程里面的内容非常详细,比较适合初学者。此文章比较适合于企业应用。
1、Centos 7 install docker-ce
安装指定版本的Docker-CE:
# Step 1: 查Docker-CE的版本:
# yum list docker-ce.x86_64 --showduplicates | sort -r
* updates: mirrors.aliyun
Loading mirror speeds from cached hostfile
Loaded plugins: fastestmirror
Installed Packages
* extras: mirrors.aliyun
* epel: mirrors.ustc.edu
docker-ce.x86_64 3:18.09.0-3.el7 docker-ce-stable
docker-ce.x86_64 3:18.09.0-3.el7 @docker-ce-stable
docker-ce.x86_64 18.-3.el7 docker-ce-stable
docker-ce.x86_64 18.-3.el7 docker-ce-stable
docker-ce.x86_64 18.-s docker-ce-stable
docker-ce.x86_64 18.-s docker-ce-stable
docker-ce.x86_64 17.-s docker-ce-stable
docker-ce.x86_64 17.-s docker-ce-stable
docker-ce.x86_64 17.-s docker-ce-stable
docker-ce.x86_64 17.-s docker-ce-stable
docker-ce.x86_64 17.-s docker-ce-stable
docker-ce.x86_64 17.-s docker-ce-stable
docker-ce.x86_64 17.-s docker-ce-stable
docker-ce.x86_64 17.-1.el7 docker-ce-stable
docker-ce.x86_64 17.-s docker-ce-stable
docker-ce.x86_64 17.-s docker-ce-stable
docker-ce.x86_64 17.-s docker-ce-stable
* base: mirrors.cqu.edu
Available Packages
# Step2: 安装指定版本的Docker-CE
# sudo yum -y install docker-ce-[VERSION]
安装最新版本的Docker-CE:
# step 1: 安装必要的一些系统工具
yum install -y yum-utils device-mapper-persistent-data lvm2 -y
# Step 2: 添加软件源信息
yum-config-manager --add-repo mirrors.aliyun/docker-ce/linux/po
# Step 3: 更新并安装Docker-CE
yum makecache fast
yum -y install docker-ce
# Step 4: 开启Docker服务
systemctl start docker.service
Step 5: 查看Docker安装版本
docker --version
Docker version 18.09.0, build 4d60db4
2、docker安装目录结构
3、启动和停止镜像
css查询手册3.1、启动容器
自定义镜像名:便于区分
-d 后台运行
用5个权值构造的哈夫曼树指定主机启动的名称
[root@centos7 ~]# docker run -itd -h hostname 镜像
举例:
[root@centos7 ~]# docker run -itd docker.io/ubuntu /bin/bash
root@82f8b90c9eba:/#
3.2、停止/退出,docker退出容器,并且关闭容器
exit
socket通信编程javadocker退出容器,而不关闭容器:
ctrl+p ctrl+q //这里2个步骤
ctrl+p+q
3.3、docker 给运行的容器映射本地端口
[root@centos7 ~]# docker run -itd -p 0.0.0.0:80:80 --name apache docker.io/ubuntu /bin/bash
4、docker常用命令及解释如下
docker search nginx //搜索镜像库
docker pull nginx //选择合适的镜像并拉取镜像
docker images nginx //在本地镜像列表里查到 REPOSITORY 为 nginx 的镜像
docker images httpd //在本地镜像列表里查到 REPOSITORY 为apache的镜像
docker info //查看docker信息float是什么意思怎么用
docker version //查看docker版本
docker pull 镜像名称 //下载(拉)镜像
docker push 镜像名称 //上传镜像
docker load -i 镜像名称.tar //导入镜像
centos和ubuntudocker images //查看所有已经安装的镜像列表
docker attach 镜像名/镜像ID //进入镜像里面
docker exec 镜像名/镜像ID ls /home //在执行shell命令到容器里面
举例:a.是我开始创建的2个文本文件
[root@centos7 ~]# docker exec elegant_bhaskara ls /home
a.txt
b.txt
[root@centos7 ~]# docker stop 镜像名/镜像ID //停止镜像
[root@centos7 ~]# docker tag 原镜像名 新镜像名 //生成新的images
举例:docker tag docker.io/ubuntu ubuntu:laste
[root@centos7 ~]# docker run -it test:ubuntu /bin/bash
[root@centos7 ~]# docker commit hopeful_carson(NAMES) ubuntu(REPOSITORY):self(tag) //提交镜像,生成新的镜像,镜像里面的配置也保留了,便于多个版本的管理
[root@centos7 ~]# docker run -itd --name test01_self ubuntu:self 用提交的镜像再启动新的镜像
0f280fd95659c81fcff4069bb53ff53b07d06b28de05111dd5a9177e16865f22
[root@centos7 ~]# docker exec test01_self ls /home
5、提交运行中的容器为一个镜像 (这样不会丢失在容器的各种操作)
2021年ppt免费模板
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论