Docker 安装及镜像管理
指尖二进制 • 1 年前 • 795 次点击 • DOCKER
[TOC]
一:docker安装
下载docker源
[root@docker-01 ~]# wget -P /etc/yum.repos.d/ https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo
修改docker源的url从清华源下载。默认从docker官网下载docker软件,比较慢。
[root@docker-01 ~]# vim /etc/yum.repos.d/docker-ce.repo
:%s@https://download.docker.com/@https://mirrors.tuna.tsinghua.edu.cn/docker-ce/@
[root@docker-01 ~]# yum install -y docker-ce
[root@docker-01 ~]# systemctl start docker
[root@docker-01 ~]# systemctl enable docker
docker是传统的CS架构分为docker client和docker server,和mysql一样
命令:docker version
[root@docker-01 ~]# docker version
Client: Docker Engine - Community
Version: 19.03.8 #19年03月版本
API version: 1.40
Go version: go1.12.17 #golang开发的
Git commit: afacb8b
Built: Wed Mar 11 01:27:04 2020 #更新时间2020年3月11日
OS/Arch: linux/amd64
Experimental: false
Server: Docker Engine - Community #社区版
Engine:
Version: 19.03.8
API version: 1.40 (minimum version 1.12)
Go version: go1.12.17
Git commit: afacb8b
Built: Wed Mar 11 01:25:42 2020
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.2.13
GitCommit: 7ad184331fa3e55e52b890ea95e65ba581ae3429
runc:
Version: 1.0.0-rc10
GitCommit: dc9208a3303feef5b3839f4323d9beb36df0a9dd
docker-init:
Version: 0.18.0
GitCommit: fec3683
docker info(监控的时候能用到)显示Docker系统信息,包括镜像和容器数。
docker主要组件有:镜像、容器、仓库、网络、存储
启动容器必须需要一个镜像,仓库中只存储镜像 容器---镜像---仓库
docker初次体验:
安装Nginx步骤:
源码安装
1:官网下载Nginx源码包
2:tar 创建Nginx用户
3:编译安装 ./config....
4:修改配置文件
5:启动
由于docker hub拉取比较慢,所以换阿里镜像加速。
使用阿里云docker镜像加速,提升pull的速度:
只需要登录容器Hub服务https://cr.console.aliyun.com的控制台,使用你的支付宝帐号,第一次登录时,需要设置一个独立的密码,左侧的加速器帮助页面就会显示为你独立分配的加速地址。
推荐使用Docker 中国官方镜像加速:https://registry.docker-cn.com
!
[root@docker-01 ~]# vim /etc/docker/daemon.json
{
"registry-mirrors": ["https://jo62x4tn.mirror.aliyuncs.com"]
}
[root@docker-01 ~]# systemctl daemon-reload
[root@docker-01 ~]# systemctl restart docker
[root@docker-01 ~]# docker run -d -p 80:80 nginx #由于本地没有nginx镜像默认直接去下载
[root@docker-01 ~]# netstat -auntlp|grep 80 #查看是一个docker的进程
tcp6 0 0 :::80 :::* LISTEN 13430/docker-proxy
-d 放在后台
-p 端口映射
nginx docker镜像的名字
二:docker镜像管理
1.1:搜索镜像
[root@docker-01 ~]# docker search centos
NAME:名字
DESCRIPTION:描述
STARS:受欢迎程度
OFFICIAL:是否官方提供
AUTOMATED:自动制作,纯手工制作的就什么都不显示
如果OFFICIAL为[OK],说明可以放心使用。(centos官方提供的)
1.2:拉取镜像
Alpine Linux 是一个社区开发的面向安全应用的轻量级Linux发行版。
适合用来做Docker镜像、路由器、防火墙、VPNs、VoIP 盒子 以及服务器的操作系统,基于 uClibc 和 Busybox。
[root@docker-01 ~]# docker pull alpine
[root@docker-01 ~]# docker pull centos:6.9
官方pull: docker pull centos:6.9(没有指定版本,默认会下载最新版)
私有仓库pull: docker pull 192.168.1.158:5000/busybox
选镜像的建议:
1:优先考虑官方
2:stars数量多
官方镜像仓库地址:hub.docker.com
1.3:查看镜像列表
docker images 或 docker image ls
[root@docker-01 ~]# docker image ls
1.4:删除镜像
docker rmi 例子:docker image rm alpine
[root@docker-01 ~]# docker image rm nginx #正在启动的镜像无法删除,需要加-f参数
Error response from daemon: conflict: unable to remove repository reference "nginx" (must force) - container aff5b6aead21 is using its referenced image 6678c7c2e56c
[root@docker-01 ~]# docker image rm alpine
Untagged: alpine:latest
Untagged: alpine@sha256:ab00606a42621fb68f2ed6ad3c88be54397f981a7b70a79db3d1172b11c4367d
Deleted: sha256:e7d92cdc71feacf90708cb59182d0df1b911f8ae022d29e8e95d75ca6a99776a
Deleted: sha256:5216338b40a7b96416b8b9858974bbe4acc3096ee60acbc4dfb1ee02aecceb10
1.5:导入导出镜像
导出镜像:
docker image save -o 导出路径 导出镜像名字
docker image save 导出镜像名字 > 导出路径
[root@docker-01 ~]# docker image ls |grep centos #查看大小
REPOSITORY TAG IMAGE ID CREATED SIZE
centos 7 5e35e350aded 4 months ago 203MB
[root@docker-01 ~]# docker image save -o /opt/docker_centos6.9.tar.gz centos:6.9
[root@docker-01 ~]# ll -h /opt/docker_centos6.9.tar.gz #到处之后再次查看大小
-rw------- 1 root root 194M May 6 15:24 /opt/docker_centos6.9.tar.gz
导入镜像:
[root@docker-01 ~]# docker image rm centos:6.9 #首先删除centos镜像
Untagged: centos:6.9
Untagged: centos@sha256:6fff0a9edc920968351eb357c5b84016000fec6956e6d745f695e5a34f18ecd2
Deleted: sha256:2199b8eb8390197d175b1dd57ed79f53ed92ffa58e23826ada54113262237e56
Deleted: sha256:aaa5621d7c0157cae5916c9cca66dd8fc2fb4bdb74813ed463b73d5b58cccfdf
[root@docker-01 ~]# docker image ls #查看没有centos镜像
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest 602e111c06b6 10 days ago 127MB
[root@docker-01 ~]# docker image load -i /opt/docker_centos6.9.tar.gz #导入centos镜像
aaa5621d7c01: Loading layer 202.4MB/202.4MB
Loaded image: centos:6.9
[root@docker-01 ~]# docker image ls #再次查看centos镜像回来了
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest 602e111c06b6 12 days ago 127MB
centos 6.9 2199b8eb8390 13 months ago 195MB