文章目录
修改记录:
24_0125_01 创建
25/01/25 整理
相关电子书籍链接
1.Docker 与容器
2.核心概念与安装配置
2.1 核心概念
2.2 docker 安装
ubuntu
使用官方的脚本自动安装
curl -fsSL https://test.docker.com -o test-docker.sh
sudo sh test-docker.sh
可能会失效
准备条件
#安装前先卸载操作系统默认安装的docker,
sudo apt-get remove docker docker-engine docker.io containerd runc
#安装必要支持
sudo apt install apt-transport-https ca-certificates curl software-properties-common gnupg lsb-release
准备安装
#添加 Docker 官方 GPG key (可能国内现在访问会存在问题)
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
# 阿里源(推荐使用阿里的gpg KEY)
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
#添加 apt 源:
#Docker官方源
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
#阿里apt源
echo "deb [arch=$(dpkg --print-architecture) 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
#更新源
sudo apt update
sudo apt-get update
安装Docker
#安装最新版本的Docker
sudo apt install docker-ce docker-ce-cli containerd.io
#等待安装完成
#查看Docker版本
sudo docker version
#查看Docker运行状态
sudo systemctl status docker
安装Docker 命令补全工具
sudo apt-get install bash-completion
sudo curl -L https://raw.githubusercontent.com/docker/docker-ce/master/components/cli/contrib/completion/bash/docker -o /etc/bash_completion.d/docker.sh
source /etc/bash_completion.d/docker.sh
允许非Root用户执行docker 命令
这时只有root权限才能使用,因此我们添加docker的用户组,把当前用户加入组中
sudo groupadd docker
sudo usermod -aG docker $USER
newgrp docker
最后一步 更新.bashrc文件
我们需要编辑 ~/.bashrc文件,并在文件末尾增加如下一行,如果不在.bashrc文件中增加下面这一行命令
#如果没有此行命令,你会发现,当你每次打开新的终端
#你都必须先执行一次 “newgrp docker” 命令
#否则当前用户还是不可以执行docker命令
groupadd -f docker
修改docker 默认的存储路径
官方文档的修改办法是编辑 /etc/docker/daemon.json 文件:
vi /etc/docker/daemon.json
默认情况下这个配置文件是没有的,这里实际也就是新建一个,然后写入以下内容:
{
"data-root": "/mhxw/docker",
}
每项都用“,”分割
此文件还涉及默认源的设定,如果设定了国内源,那么实际就是在源地址下方加一行,写成:
{
"registry-mirrors": ["http://hub-mirror.c.163.com"],
"data-root": "/mhxw/docker"
}
保存退出,然后重启 docker 服务:
systemctl restart docker
2.3 配置Docker 服务
Docker Hello World
此时,验证
docker container run hello-world
运行交互式的容器
我们通过 docker 的两个参数 -i -t,让 docker 运行的容器实现**“对话”**的能力:
runoob@runoob:~$ docker run -i -t ubuntu:15.10 /bin/bash
root@0123ce188bd8:/#
各个参数解析:
- -t: 在新容器内指定一个伪终端或终端。
- -i: 允许你对容器内的标准输入 (STDIN) 进行交互。
我们尝试在容器中运行命令 cat /proc/version和ls分别查看当前系统的版本信息和当前目录下的文件列表
我们需要确认容器有在运行,可以通过 docker ps 来查看:
runoob@runoob:~$ docker ps
CONTAINER ID IMAGE COMMAND

最低0.47元/天 解锁文章
1304

被折叠的 条评论
为什么被折叠?



