添加当前用户到docker组,docker命令免sudo

添加当前用户到docker组,docker命令免sudo,第1张

如果想在当前用户输入docker命令时不输入docker,需要将当前用户添加到docker组当中

1.查看docker组中用户列表

最后一个 : 后面表示为docker组中的用户列表, 如果没有当前用户名, 则需要将当前用户加入docker组当中

Docker 是一个开源的应用容器引擎,基于LXC(Linux Container)内核虚拟化技术实现,提供一系列更强的功能,比如镜像、 Dockerfile等;Docker理念是将应用及依赖包打包到一个可移植的容器中,可发布到任意Linux发行版Docker引擎上。使用沙箱机制运行程序, 程序之间相互隔离;

容器是在linux上本机运行,并与其他容器共享主机的内核,它运行的一个独立的进程,不占用其他任何可执行文件的内存,非常轻量、高效、快速。

虚拟机运行的是一个完成的 *** 作系统,通过虚拟机管理程序对主机资源进行虚拟访问,相比之下需要的资源更多。

参考: https://www.cnblogs.com/codingbit/p/install-docker-in-ubuntu.html

Linux版本CentOS7

使用加速可以提升获取Docker官方镜像的速度,下面使用 阿里云镜像 进行加速。

通过修改daemon配置文件 /etc/docker/daemon.json 来使用加速

Docker 守护进程绑定在 Unix socket 而不是 TCP 端口。默认情况下 Unix socket 归属于 root 用户,其他用户只能通过 sudo 命令访问。所以 Docker 守护进程总是以 root 用户来运行。

如果你不希望每次运行 docker 命令时在前面加上 sudo,你可以创建一个 docker 用户组并把用户加进去。当 Docker 守护进程启动时,会创建一个 Unix socket 供 docker 用户组成员访问

创建 docker 用户组并添加你的用户

https://hub.docker.com/

什么是 DockerHub 以及为什么它很重要?DockerHub 是一个由 Docker 公司运行和管理的基于云的存储库。它是一个在线存储库,Docker 镜像可以由其他用户发布和使用。

有两种库:公共存储库和私有存储库 。如果你是一家公司,你可以在你自己的组织内拥有一个私有存储库,而公共镜像可以被任何人使用。

镜像层和容器层

Docker 服务端是Docker 所有后台服务的统称 。其中dockerd 是一个非常重要的后台管理进程,它负责响应和处理来自Docker 客户端的请求,然后将客户端的请求转化为Docker 的具体 *** 作。

例如:镜像、容器、网络和挂载卷等具体对象的 *** 作和管理。

Docker 从诞生到现在,服务端经历了多次架构重构。起初,服务端的组件是全部集成在docker 二进制里。但是从 1.11 版本开始, dockerd 已经成了独立的二进制,此时的容器也不是直接由dockerd 来启动了,而是集成了containerd、runC 等多个组件。

虽然 Docker 的架构在不停重构,但是各个模块的基本功能和定位并没有变化。它和一般的 C/S 架构系统一样,Docker 服务端模块负责和 Docker 客户端交互,并管理Docker 的容器、镜像、网络等资源。

Docker 有两个至关重要的组件: runC和containerd。

runC 是Docker 官方按照OCI 容器运行时标准的一个实现。通俗地讲,runC 是一个用来运行容器的轻量级工具,是真正用来运行容器的。

containerd 是Docker 服务端的一个核心组件,它是从dockerd 中剥离出来的 ,它的诞生完全遵循OCI 标准,是容器标准化后的产物。containerd通过containerd-shim 启动并管理runC,可以说containerd真正管理了容器的生命周期。

1. 容器中长期运行 程序

有两种方式:

2. 容器 开启和停止 程序

有两种方式

3. 进入容器

有2种方法

想要web部署在互联网上 或者 在Web上访问 应用;

个人电脑处于 私网 中; IP地址处于 IPV4 和 IPV6

安装appium

排错,困难

https://hub.docker.com/r/appium/appium

测试adb

改变TCPIP连接方式

查看appium运行日志

容器端口号为 4723

开启nginx,就可以在web访问 192.168.0.100;

Dockerfile其实可以看做一个命令集 。每行均为一条命令。每行的第一个单词,就是命令command。后面的字符串是该命令所要接收的参数。比如ENTRYPOINT /bin/bash。ENTRYPOINT命令的作用就是将后面的参数设置为镜像的entrypoint。至于现有命令的含义,这里不再详述。DockOne上有很多的介绍。

FROM 指令用于指定其后构建新镜像所使用的基础镜像。FROM 指令必是 Dockerfile 文件中的首条命令,启动构建流程后,Docker 将会基于该镜像构建新镜像,FROM 后的命令也会基于这个基础镜像。

在镜像的构建过程中执行特定的命令,并生成一个中间镜像。格式:

最多127层,不是写shell ;

1.新建用户组docker,如果用户组已经存在则跳过

点击(此处)折叠或打开

$sudo cat /etc/group | docker

$sudo groupadd -g 999 docker

#-g 999 为组ID,也可以不指定

2.为用户组docker增加用户

点击(此处)折叠或打开

¥sudo gpasswd -a ${USER} docker

3.重启docker-daemon

点击(此处)折叠或打开

$sudo systemctl restart docker

4.执行docker命令,如果提示get ...... dial unix /var/run/docker.sock权限不够,则修改/var/run/docker.sock权限

点击(此处)折叠或打开

$sudo chmod a+rw /var/run/docker.sock


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11378824.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-15
下一篇 2023-05-15

发表评论

登录后才能评论

评论列表(0条)

保存