docker:

关于docker容器和镜像的区别

镜像就类似文件,又一层层叠加上去的,除了最上层不叫父层,其余都是,这都是概念性的,说白的,直接理解镜像就是类,容器就是实例,每个类可以创建多个实例,或者可以理解为文件程序就是镜像,容器就是进程,可以参照

https://www.cnblogs.com/baizhanshi/p/9655102.html

参照docker集装箱原理https://www.zhihu.com/question/28300645

 

---20201213

docker的安装

使用 Docker 仓库进行安装

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

设置仓库

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

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

可以选择国内的一些源地址:

阿里云

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

安装 Docker Engine-Community

安装最新版本的 Docker Engine-Community 和 containerd,或者转到下一步安装特定版本:

$ sudo yum install docker-ce docker-ce-cli containerd.io
这里可能会报错,log为

Error:
Problem: package docker-ce-3:20.10.0-3.el7.x86_64 requires containerd.io >= 1.4.1, but none of the providers can be installed

这是因为版本package docker-ce-3:20.10.0-3.el7.x86_64是最新的,和containerd.io不兼容,
解决的办法,先安装个io
 sudo yum install  containerd.io
然后指定一个低一点版本,不是最新的版本docker- ce
sudo yum install docker-ce-18.06.3.ce-3.el7 
然后
sudo yum install docker-ce-cli 
安装成功

查看版本
docker -v

Docker version 18.06.3-ce, build d7080c1

 

启动 Docker。

$ sudo systemctl start docker

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

$ sudo docker run hello-world

以上安装已经完成了
------
docker使用

[root@iZwz94psug6hqhkrqfwkloZ ~]# docker run -i -t -d ubuntu:15.10 /bin/bash  --注1
5555657ac61cb9b0d89748cc8ed26b0f908f3f22b0f7671454557ea570274418
[root@iZwz94psug6hqhkrqfwkloZ ~]# docker ps  --注2
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
5555657ac61c ubuntu:15.10 "/bin/bash" 4 seconds ago Up 3 seconds vigorous_austin
[root@iZwz94psug6hqhkrqfwkloZ ~]#

注1:
  • -t: 在新容器内指定一个伪终端或终端。

  • -i: 允许你对容器内的标准输入 (STDIN) 进行交互。

      注2:查询所有的容器

  docker 常用命令:

 docker logs 2b1b7a428627  查询某个容器的日志
docker -p -a 查询所有容器的状态(类似查询对象)
docker images 查询所有的镜像(类似查询类)
  • docker attach 进入容器,退出会导致容器暂停

  • docker exec:推荐大家使用 docker exec 命令,因为此退出容器终端,不会导致容器的停止。

  docker exec -it 243c32535da7 /bin/bash 再执行exit  对应的容器还是up状态
  docker attach 09e66ec36753 再执行exit,09e66ec36753 对应的容器就Exited状态了

    service docker start  启动docker


  systemctl enable docker 开启启动docker


linux一下权限命令:

Linux chown(英文全拼:change owner)命令用于设置文件所有者和文件关联组的命令。

Linux/Unix 是多人多工操作系统,所有的文件皆有拥有者。利用 chown 将指定文件的拥有者改为指定的用户或组,用户可以是用户名或者用户 ID,组可以是组名或者组 ID,文件是以空格分开的要改变权限的文件列表,支持通配符。 。

chown 需要超级用户 root 的权限才能执行此命令。

只有超级用户和属于组的文件所有者才能变更文件关联组。非超级用户如需要设置关联组可能需要使用 chgrp 命令。

使用权限 : root

 参考:https://www.runoob.com/linux/linux-comm-chown.html

 

Linux chmod命令

Linux 命令大全 Linux 命令大全

Linux chmod(英文全拼:change mode)命令是控制用户对文件的权限的命令

Linux/Unix 的文件调用权限分为三级 : 文件所有者(Owner)、用户组(Group)、其它用户(Other Users)。

只有文件所有者和超级用户可以修改文件或目录的权限。可以使用绝对模式(八进制数字模式),符号模式指定文件的权限。

使用权限 : 所有使用者

参照菜鸟教程:https://www.runoob.com/linux/linux-comm-chmod.html

 

参照菜鸟教程  https://www.runoob.com/docker/centos-docker-install.html

 

说白了chmod可以区分各个用户或组有哪些权限(wrx  421)

而 chown只是决定文件是归属于谁

 

最后安装Jenkins

 

参照:https://www.cnblogs.com/xiaobug/p/13932634.html

 

posted on 2021-03-18 10:58  我是坏男孩  阅读(217)  评论(0编辑  收藏  举报