docker安装配置及基本使用
容器云docker,Linux,pythondocker安装、配置及使用一、下载和安装(一)Ubuntu系统法1. 使用官方脚本(阿里云)快速在线安装法2. 通过apt-get在线安装二、启动三、使用1. 删除(docker删除容器、镜像)2. 命令docker,Linux,pythondocker安装、配置及使用一、下载和安装(一)Ubuntu系统法1. 使用官方脚本(阿里云)快速在线安装安装命
容器云
- docker,大数据,Linux,python
-
docker安装配置及基本使用
docker,大数据,Linux,python
docker安装配置及基本使用
一、下载和安装
(一)Ubuntu系统
法1. 离线安装
1)下载
官网:https://download.docker.com/linux/ubuntu/dists/focal/pool/stable/amd64/
下载相关Docker和相关包。
系统Ubuntu20.04,可以下载如下三个:
containerd.io_1.4.12-1_amd64.deb
docker-ce-cli_20.10.12~3-0~ubuntu-focal_amd64.deb
docker-ce_20.10.12~3-0~ubuntu-focal_amd64.deb
2)安装
先卸载旧版本(如果有)
sudo apt-get remove docker docker-engine docker.io
再依次安装上面下载的包
sudo dpkg -i containerd.io_1.4.12-1_amd64.deb
sudo dpkg -i docker-ce-cli_20.10.12~3-0~ubuntu-focal_amd64.deb
sudo dpkg -i docker-ce_20.10.12~3-0~ubuntu-focal_amd64.deb
3)配置国内镜像加速
(1)对于使用systemd的系统:Ubuntu16.04+、Debian8+、CentOS7
在 /etc/docker/daemon.json
中写入如下内容(如果文件不存在请新建该文件):
{"registry-mirrors":["https://docker.mirrors.ustc.edu.cn/"]}
之后重新启动服务:
sudo systemctl daemon-reload
sudo systemctl restart docker
上面文件添加的是科大镜像,docker的阿里云镜像加速需要注册。
阿里云docker:
https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors 用个人账户登陆后,点击左侧栏的“镜像中文”-> “镜像加速器”,之后在右侧兰就可以看到生成的个人加速器地址了。
可以配置多个国内镜像加速地址,当某个地址不稳定时会自动切换,如下,是我的配置:
{
"registry-mirrors":[
"https://zlwmp571.mirror.aliyuncs.com",
"https://docker.mirrors.ustc.edu.cn/",
"https://reg-mirror.qiniu.com/",
"https://hub-mirror.c.163.com/"
]
}
(2)对于使用 upstart 的系统:Ubuntu14.04、Debian7Wheezy
编辑 /etc/default/docker 文件,在其中的 DOCKER_OPTS 中配置加速器地址:
DOCKER_OPTS="--registry-mirror=https://registry.docker-cn.com"
重新启动服务:
sudo service docker restart
附:卸载docker
# 卸载Docker
sudo apt-get purge docker-ce docker-ce-cli containerd.io
# 删除所有的镜像、容器和数据卷(数据卷的挂载位置依据实际情况而定)
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd
法2. 使用官方脚本(阿里云)快速在线安装
安装命令如下:
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
也可以使用国内 daocloud 一键安装命令:
curl -sSL https://get.daocloud.io/docker | sh
法3. 通过apt-get在线安装
# 更新apt
sudo apt-get update
# 先卸载旧版本(如果有)
sudo apt-get remove docker docker-engine docker.io
# 再次更新apt
sudo apt-get update
# 由于apt源使用HTTPS以确保软件下载过程中不被篡改。因此,我们首先需要添加使用 HTTPS 传输的软件包以及 CA 证书。
sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ software-properties-common
# 更换国内源。为了确认所下载软件包的合法性,需要添加软件源的 GPG 密钥。
curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository \ "deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu \ $(lsb_release -cs) \ stable"
# 或者更换阿里源:
# curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
# 向 sources.list 中添加 Docker 软件源
echo \
"deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# 再次更新apt
sudo apt-get update
# 安装高版本的docker好像都会挂,所以我们安装到18.06.1的
sudo apt-get install docker-ce=18.06.1~ce~3-0~ubuntu
附
其他版本的docker安装可参考官方文档:https://docs.docker.com/engine/install/,其中:
- Ubuntu docker安装官方文档:https://docs.docker.com/engine/install/ubuntu/
例如,Ubuntu24.04 docker包下载链接:https://download.docker.com/linux/ubuntu/dists/noble/pool/stable/amd64/ - Centos docker安装官方文档:https://docs.docker.com/engine/install/centos/#install-from-a-package
二、安装验证和配置
1. 安装验证
可通过输入docker version
可查看docker版本来验证。
2. 配置(赋予非root用户使用docker命令的sudo权限)
带有docker
关键字的命令会大量使用,而非root用户每次输入 docker 命令都要输入sudo
,很麻烦!如何配置呢?
1)背景
如下两图,docker需要 sudo 权限。
默认情况下,docker 命令会使用 Unix socket 与 Docker 引擎通讯。而只有 root 用户和 docker 组的用户才可以访问 Docker 引擎的 Unix socket。出于安全考虑,一般 Linux 系统上不会直接使用 root 用户。因此,更好地做法是将需要使用 docker 的用户(如名为hadoop
的用户)加入 docker 用户组。这样,我们当前的非root用户每次使用docker xxx
命令就不要再输入sudo
了。
2)赋予非root用户使用docker命令的sudo权限
假设我们有一个非root用户:用户名为hadoop
。配置如下:
# 切换到hadoop用户登录
su hadoop
# 建立docker组(有时会提示已存在)
sudo groupadd docker
# 将当前的hadoop用户加入到docker用户组中
sudo gpasswd -a hadoop docker
# 更新用户组(重要!!!)
newgrp docker
# 更改/var/run/docker.sock权限(重要!!!)。如果少了这一步,不会永久生效。
sudo chmod a+rw /var/run/docker.sock
注:如果docker处于启动状态输入sudo service docker restart
来重启下docker。
接下来就可以直接输入docker不用sudo了,如下:
附:/var/run/docker.sock权限修改前和修改后(sudo chmod a+rw /var/run/docker.sock)
另外,有的方法是用 sudo usermod -aG docker hadoop
命令来将当前用户hadoop加入docker 组,好像不太好用,具体可参考网上资料。
三、启动
ubuntu16.04系统输入
sudo service docker start
有的系统还可支持输入systemctl enable docker
来启动。
附:Win10的Linux子系统,安装好docker了,但执行docker命令时会提示:cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running,那你只需要通过以管理员身份运行Linux子系统即可。
以管理员方式打开Linux子系统程序 C:\Windows\System32\wsl.exe
,再输入 sudo service docker start
这样server部分也完美启动了,可以愉快的使用docker了。
也可使用PowerShell,输入指令bash
即可进入wsl子系统。
以管理员启动wsl控制台,开启docker
sudo cgroupfs-mount
sudo service docker start
四、使用
1. 删除(docker删除容器、镜像)
删除所有容器
docker rm `docker ps -a -q`
删除所有镜像
docker rmi `docker images -q`
2. 命令
# 查找系统镜像
docker search centos
docker search ubuntu
# 拉取(下载)镜像
docker pull ubuntu:16.04
docker pull ubuntu # 不加版本号默认下载最新版
# 附:查看docker支持的镜像网站:
## 1. centos: https://hub.docker.com/_/centos?tab=tags&page=1
## 2. Ubuntu: https://hub.docker.com/_/ubuntu?tab=tags
# 查看本地所有镜像信息
docker images
其他更多常用命令可参考我的另一篇博文:https://blog.csdn.net/Acegem/article/details/123250271
五、docker拉取下来的镜像存储位置
docker pull 下来的镜像存在 /var/lib/docker/overlay2/
目录下。
举例说明
目前有3个镜像:
在 /var/lib/docker/overlay2/
目录下可看到3个加密的目录,就是这3个镜像的位置:
随便进入其中一个镜像,比如进入到3c38d495d294f89b1ecae4fadf475eaf2309f71f4184259daa9f8843b450aa76/
目录,再进入到其下的diff目录:
由此可以发现在 3c38d495d294f89b1ecae4fadf475eaf2309f71f4184259daa9f8843b450aa76/diff/
下即是镜像系统文件。
更多推荐
所有评论(0)