在 linux 中 docker容器安装使用

docker 工作流程介绍

在这里插入图片描述
正如上图所示,当我们想运行一个容器的时候,docker会:
1、拉取镜像,若本地已经存在该镜像,则不用到网上去拉取
2、创建新的容器
3、分配union文件系统并且挂着一个可读写的层,任何修改容器的操作都会被记录在这个读写层上,你可以保存这些修改成新的镜像,也可以选择不保存,那么下次运行改镜像的时候所有修改操作都会被消除
4、分配网络\桥接接口,创建一个允许容器与本地主机通信的网络接口
5、设置ip地址,从池中寻找一个可用的ip地址附加到容器上,换句话说,localhost并不能访问到容器
6、运行你指定的程序
7、捕获并且提供应用输出,包括输入、输出、报错信息

一、配置安装 docker 源

[root@docker ~]# cat /etc/yum.repos.d/docker.repo 
[dockerrepo]
name=Docker Repository
baseurl=https://yum.dockerproject.org/repo/main/centos/$releasever/
enabled=1
gpgcheck=1
gpgkey=https://yum.dockerproject.org/gpg

二、安装 docker

[root@docker ~]# yum install -y docker-engine
[root@docker ~]# service docker start
[root@docker ~]# systemctl enable docker
[root@docker ~]# docker version  (查看是否安装成功)

三、docker 的基本命令操作

  attach      运行正在运行的容器
  build       从Dockerfile构建一个映像
  commit      根据容器的更改创建新映像
  export      将容器的文件系统导出为 tar 归档文件
  images      查看镜像
  import      从 tar 导入内容以创建文件系统映像
  kill        杀死一个或多个正在运行的容器
  load        导入 tar 镜像文件
  logs        获取容器日志
  port        列出端口映射或容器的特定映射
  ps          查看正在运行的容器
  pull        从注册表中提取镜像(下载)
  push        上传本地的镜像
  rename      重命名一个容器
  restart     重启容器
  rm          删除一个或多个容器
  rmi         删除一个或多个镜像
  run         在新容器中运行命令
  save        将一个或多个镜像保存到tar存档
  search      在Docker Hub中搜索镜像
  start       启动容器
  stats       实时监控容器的状态信息
  stop        S停容器
  tag         创建一个引用SOURCE_IMAGE的标记TARGET_IMAGE
  top         显示容器的运行进程
  unpause     恢复一个或多个容器中的所有进程
  update      更新一个或多个容器的配置
  version     显示Docker版本信息
  wait        阻塞,直到一个或多个容器停止,然后打印它们的出口代码

1、查看 Docker 版本信息 (docker version images_name)

在这里插入图片描述

2、查找 Docker 镜像 (docker search images_name)

在这里插入图片描述

3、下载 Docker 镜像 (docker pull images_name)

在这里插入图片描述

4、删除 Docker 镜像(docker rmi images_name)

在这里插入图片描述

5、Docker 镜像的历史版本(docker history images_name)

在这里插入图片描述

6、上传 Docker 的镜像(docker push images_name)

在这里插入图片描述

7、进入(docker attach name)

在这里插入图片描述

8、导出保存镜像(docker export images_number > name.tar)

在这里插入图片描述

9、导入镜像快照(cat name.tar | docker import - name:version number)

在这里插入图片描述

10、创建一个新的镜像标记(docker tag IMAGEID name:version number)

在这里插入图片描述

四、创建 docker 容器

1、下载镜像: docker pull centos (或 docker.io/centos)

查看镜像: docker images
[root@docker ~]# docker images
REPOSITORY          TAG        IMAGE ID           CREATED           SIZE
docker.io/mysql     latest    2dd01afbe8df      2 weeks ago        485 MB
docker.io/centos    latest    75835a67d134      4 weeks ago        200 MB

2、创建docker:docker run -itp 80:8080 --name centos docker.io/centos /bin/bash
(创建名字为 centos 的 docker容器,将本机的 80 端口映射到容器中为 8080,并放在后台运行)

-i, --interactive       保持STDIN开放,即使没有连接
-t, --tty               分配一个pseudo-TTY
-v, --volume list       绑定安装卷
-p, --publish list      将容器的端口发布到主机
-P, --publish-all       将所有公开的端口发布到随机端口
-d, --detach            在后台运行容器并打印容器ID

五、数据持久化保存

1、创建:挂载卷-v
把物理机的 /data 目录挂载到容器 cen2 的 /tpm/data 目录下(可避免容器的数据丢失)

[root@docker ~]# docker run -it --name cen2 -v /data/:/tmp/data docker.io/centos /bin/bash
[root@f79a9974767d ~]# cd /mnt/data/
[root@f79a9974767d ~]# touch {1..5}.mp4  (ctrl+p+q 退出容器,并未停止容器)
[root@docker ~]# ls /data
 1.mp4  2.mp4  3.mp4  4.mp4  5.mp4

2、创建:容器卷–volumes-from
在多个容器下,数据同步,把 cen2 的卷挂载到 cen3 下(数据统一化)

[root@docker data]# docker run -ti --name cen3 --volumes-from cen2 centos /bin/bash
[root@405362b535ec /]# cd /tmp/data/
[root@405362b535ec data]# ls
 1.mp4  2.mp4  3.mp4  4.mp4  5.mp4
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章