Ubuntu下的docker和docker-compose安装
安装前依赖
目前是采用阿里云源,添加仓库源和依赖,执行命令如下
$ sudo apt install -y apt-transport-https ca-certificates curl gnupg lsb-release software-properties-common
$ curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
$ sudo add-apt-repository "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
安装
$ sudo apt-get update
$ sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
配置
docker
非root
非sudo
用户操作把当前非
root
用户添加到docker
用户组,执行如下$ sudo groupadd docker
$ sudo gpasswd -a ${USER} docker
由于当前终端
shell
还保留着旧用户信息现在新开一个终端执行命令验证是否可以非
sudo
操作$ docker info
修改
docker
镜像源镜像源地址推荐
- 阿里云
https://registry.cn-hangzhou.aliyuncs.com
如果有账号的, 使用[系统分配前缀].mirror.aliyuncs.com
- 腾讯云
https://mirror.ccs.tencentyun.com
docker
中国https://registry.docker-cn.com
- 网易
http://hub-mirror.c.163.com
- 中科大
https://docker.mirrors.ustc.edu.cn
/etc/docker/daemon.json
写入如下内容{
"registry-mirrors": [
"https://docker.mirrors.ustc.edu.cn",
"http://hub-mirror.c.163.com"]
}
修改完成之后执行如下命令,更新
docker
服务配置和重启服务$ sudo systemctl daemon-reload
$ sudo systemctl restart docker
查看修改镜像是否成功
$ docker info
#输出信息包含如下
...
Registry Mirrors:
https://docker.mirrors.ustc.edu.cn/
http://hub-mirror.c.163.com/
....
【Ubuntu下的docker和docker-compose安装】目前的
docker-compose
可以作为docker
的sub command
调用,这个也是目前推荐的方式编辑一个
compose.yaml
文件services:
redis:
image: redis
ports:
- 6379:6379
restart: always
在
compose.yaml
文件同级路径执行命令验证之前步骤是否正确$ docker compose version
$ docker compose up -d
$ docker compose ps
$ docker compose down
命令兼容
由于很多人之前接触的是
1.**
版本的docker-compose
,命令也习惯使用docker-compose up
这样的,而不是docker compose up
,所以为了与旧版本兼容$ sudo ln -s /usr/libexec/docker/cli-plugins/docker-compose /usr/bin/docker-compose
现在可以执行两种风格的
compose
命令了参考阅读 docker官方安装文档
推荐阅读
- docker环境搭建mgr集群的问题及原理
- CentOS中实现基于Docker部署BI数据分析
- java|docker启动rabbitmq后无法访问15672端口
- 「云原生的进阶之路」|【Docker 那些事儿】关于容器底层技术的奥秘
- 理解Docker容器与镜像
- 「云原生的进阶之路」|【Docker 那些事儿】如何安全地停止、删除容器
- docker|Docker(将docker容器保存为docker镜像(打成tar包))
- 「云原生的进阶之路」|【Docker 那些事儿】关于Namespace隔离机制的奥秘
- docker|Docker删除镜像和容器命令
- docker|docker删除镜像和容器