Ubuntu 系统安装 Docker
安装 Docker CE 有多种方法,下面是最简单的通过Docker仓库的安装方法,其他方法参见官方文档。
设置仓库
刷新软件包
sudo apt-get update
安装必要的软件包
sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
gnupg-agent \
software-properties-common
添加 Docker 官方 GPG key
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
验证指纹是否为
9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88
, 可以通过搜索指纹的后8位来进行验证。sudo apt-key fingerprint 0EBFCD88 result:
pub rsa4096 2017-02-22 [SCEA]
9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88
uid [ unknown] Docker Release (CE deb) <docker@docker.com>
sub rsa4096 2017-02-22 [S]
使用下面的命令添加 稳定版 仓库
sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
安装 Docker CE
刷新软件包
sudo apt-get update
安装最新版的 docker ce 和 containerd
sudo apt-get install docker-ce docker-ce-cli containerd.io
通过运行
hello-world
镜像来验证是否安装成功sudo docker run hello-world
Docker CE 安装完成后,会建立
docker
用户组,但是没有用户分配,所以需要通过sudo
来运行 Docker 命令。
其他设置
国内容器镜像加速
使用加速器可以提升获取Docker官方镜像的速度,下面使用阿里云镜像进行加速。
通过修改daemon配置文件/etc/docker/daemon.json
来使用加速器
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://jjzi6741.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
使用非 root 用户管理运行 Docker
参考链接
Docker 守护进程绑定在 Unix socket 而不是 TCP 端口。默认情况下 Unix socket 归属于 root
用户,其他用户只能通过 sudo
命令访问。所以 Docker 守护进程总是以 root
用户来运行。
如果你不希望每次运行 docker
命令时在前面加上 sudo
,你可以创建一个 docker
用户组并把用户加进去。当 Docker 守护进程启动时,会创建一个 Unix socket 供 docker
用户组成员访问。
警告
docker
用户组成员和root
用户有相同的权限,请查看 Docker Daemon Attack Surface 以了解更多关于系统安全的影响。
创建 docker
用户组并添加你的用户
创建
docker
用户组sudo groupadd docker
添加你的用户到
docker
用户组sudo usermod -aG docker $USER
重新登录以试权限生效。
验证是否可以不使用
sudo
命令来运行docker
docker run hello-world
这个命令会下载一个 test 镜像并在容器中运行。运行完成后,会显示欢迎信息并退出。
如果你在把用户加到
docker
用户组之前使用了sudo
运行过 Docker 命令,可能会遇到下面的错误提示,是因为~/.docker/
权限不对导致的。WARNING: Error loading config file: /home/user/.docker/config.json -
stat /home/user/.docker/config.json: permission denied
解决这个问题,可以通过删除
~/.docker/
目录(自定义设置会丢失),或者用下面的命令来更改权限。sudo chown "$USER":"$USER" /home/"$USER"/.docker -R
sudo chmod g+rwx "$HOME/.docker" -R
安装 Docker Compose
参考链接
在 Linux 系统,可以通过 Compose repository release page on GitHub 来下载 Docker Compose 二进制文件。
对于
alpine
系统,需要安装以下依赖包:py-pip
,python-dev
,libffi-dev
,openssl-dev
,gcc
,libc-dev
make
运行下面命令下载最新稳定版 Docker Compose
sudo curl -L "https://github.com/docker/compose/releases/download/1.24.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
下载不同的版本,更改命令中的版本号即可。
给文件加上可执行权限
sudo chmod +x /usr/local/bin/docker-compose
注意: 如果安装后执行
docker-compose
失败,请检查PATH
变量。亦可以建立软连接。
比如:
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
(可选), 为
bash
和zsh
安装 command completion 。验证安装是否成功
$ docker-compose --version
docker-compose version 1.24.0, build 1110ad01
更多技术文章,请访问我的个人网站:https://www.codingbit.net
Ubuntu 系统安装 Docker的更多相关文章
- ubuntu系统安装docker
系统版本:Ubuntu 18.04 # 更新apt update # 安装依赖apt install apt-transport-https ca-certificates curl software ...
- Ubuntu安装docker笔记
前言 根据参考文档简单记录Ubuntu系统安装docker的步骤 系统版本 panzi@ubuntu:~$ cat /etc/issue Ubuntu 16.04.5 LTS \n \l 移除旧版 ...
- ubuntu系统安装初始化脚本
ubuntu系统安装初始化脚本 经常安装卸载ubuntu,每次系统安装完成后要安装好多软件,一个个命令输很麻烦浪费时间,一个sh文件全搞定! 1. flashplayer下载:点击这里 2. Auda ...
- ubuntu系统安装软件方法
ubuntu系统安装软件方法 ubuntu下安装软件有三种方式,分别为在线安装apt-get方式,软件商店安装方式和 1. 软件商店安装方式 这种方式对经常使用windows系统的同学来说最为简单,因 ...
- Ubuntu系统安装配置Pintos和Bochs
Ubuntu系统安装配置 Pintos 和 Bochs 安装过程 首先是UEFI启动模式下Win8.1安装Ubuntu14.04双系统,由于篇幅过长,就不在这里详写.可见博主的另一篇博客http:// ...
- 阿里云服务器 ECS Ubuntu系统安装配置
1. 登陆服务器 系统开通成功后手机会收到阿里云发来的短信,包含公网IP及root登录密码. WEB管理后台方式 可通过阿里云管理后台选择“连接管理终端…”进行登录 提示输入VNC密码 登录成功后显示 ...
- 基于集合成工控机Ubuntu系统安装分区详解
基于集合成工控机Ubuntu系统安装分区详解 硬件描述:双核的CPU,128G的固态硬盘 软件描述:使用Ubuntu12.04系统,内核3.8.0-29版本,QT4.8.1版本 1.新建分区表 /de ...
- ubuntu安装docker以及基本用法
ubuntu安装docker以及基本用法 一.安装 安装前先更新apt-get源到最新版本 apt-get update 使用ubuntu自带的docker安装包安装docker apt-get in ...
- 在 Ubuntu 系统安装 Redi
在 Ubuntu 系统安装 Redi 可以使用以下命令: $sudo apt-get update $sudo apt-get install redis-server 启动 Redis $ redi ...
随机推荐
- vue中render: h => h(App)的详细解释
2018年06月20日 10:54:32 H-L 阅读数 5369 render: h => h(App) 是下面内容的缩写: render: function (createEleme ...
- HDU 5791 Two ——(LCS变形)
感觉就是最长公共子序列的一个变形(虽然我也没做过LCS啦= =). 转移方程见代码吧.这里有一个要说的地方,如果a[i] == a[j]的时候,为什么不需要像不等于的时候那样减去一个dp[i-1][j ...
- C与C++ 中 struct和typedef struct
总体分两块 1 首先://注意在C和C++里不同在C中定义一个结构体类型要用typedef: typedef struct Student { int a; }Stu; 于是在声明变量的时候就可:St ...
- IDEA安装配置Thrift
下载exe:http://archive.apache.org/dist/thrift/0.9.3/ 新建一个thrift目录放进来,并将名字改成thrift
- win7安装ElasticSearch集群
1.单节点安装请参考上篇博客 http://www.cnblogs.com/lianliang/p/7953754.html 2.集群的安装(这里模拟两个节点) 1)集群的安装,基于之前单节点的安装 ...
- 使用IDEA配置SpringBoot热部署无效解决
首先检查自己pom.xml文件里是否有加入依赖 <dependency> <groupId>org.springframework.boot</groupId> & ...
- python3笔记二十二:正则表达式之函数
一:学习内容 re.match函数 re.search函数 re.findall函数 二:re.match函数 需要导入包:import re 1.格式:match(pattern,string,fl ...
- 如何实现一个串行promise
异步执行任务A.B.C,...... 1.使用数组的reduce方法,reduce里有四个参数,pre,next,index,arr, 2.如果then方法里返回的是一个promise对象,那么执行下 ...
- OGG-00446 分析与解决
OGG-00446 分析与解决 Table of Contents 1. 00446 1.1. Missing filename opening checkpoint file 1.1.1. 错误信息 ...
- ORA-39095: Dump file space has been exhausted
ORA-39095: Dump file space has been exhausted Table of Contents 1. 简述 2. 错误信息 3. 分析 4. 解决 5. 扩展 1 简述 ...