12.docker 入门

开源的容器引擎

更快的交付应用

应用程序和 基础设施隔离

将基础设置 当做应用程序管理

更快的打包,测试,部署

docker daemon 守护进程:运行在宿主机 docker_host 的后台进程。通过docker客户端与之通信。

client 客户端:用户界面,接受用户命令 和 配置标识,与 deamon通信。 dockerbuild这样的命令。

images: docker镜像,只读模板,系统安装盘有点像,使用docker镜像 可以运行镜像中的程序

container : 容器,镜像的可运行实例,镜像和容器 类和对象。通过docker api 或者 cli命令来启动,移动,删除容器。

registry : docker registry 一个集中存储于分发镜像的服务。

n. 注册;登记处, docker registry 是maven仓库。 docker仓库 就是 jar包的路径,

镜像标签 则可理解为jar包的版本号,也分为公有和私有,最常用的莫过于docker Hub 官方

移除docker,安装yum ,更新yum索引

sudo yum -y remove docker

sudo yum install -y yum-utils

sudo yum makecache fast(下面教程配了阿里云在更新,可以去掉fast这个参数)

启用测试仓库

sudo yum-config-manager --enable docker-testing

sudo yum-config-manager --disable docker-testing

1. 删除已经有的

# Uninstall installed docker
sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-selinux \
                  docker-engine-selinux \
                  docker-engine

2. 配置阿里docker yum源

# Set up repository
sudo yum install -y yum-utils device-mapper-persistent-data lvm2

# Use Aliyun Docker
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

安装docker

查看docker版本

sudo yum update
yum list docker-ce --showduplicates
#装较旧版本(比如Docker 17.03.2) 时需要指定完整的rpm包的包名,并且加上--setopt=obsoletes=0 参数:
yum install -y --setopt=obsoletes=0 \
   docker-ce-17.03.2.ce-1.el7.centos.x86_64 \
   docker-ce-selinux-17.03.2.ce-1.el7.centos.noarch

# 或安装Docker较新版本 (比如Docker 18.03.0)
sudo yum install docker-ce-18.03.0.ce
sudo yum install docker-ce #安装最新的版本

# 启动docker
systemctl enable docker
systemctl start docker
systemctl stop docker  

docker version 

https://www.cnblogs.com/cheyunhua/p/10448380.html

https://blog.csdn.net/zhangbeizhen18/article/details/85239758

卸载docker

yum -y remove docker-engine

rm -rf /var/lib/docker

阿里云镜像加速器

https://homenew.console.aliyun.com/

  1. docker search java

name 仓库名

description 仓库描述

stars 仓库的受欢迎程度

official 是否为官方仓库

automated 是否自动构建镜像仓库

  1. docker pull java

    docker pull hello-world

docker pull reg.itmuch.com/java:7

指定想要下载的镜像标签(标签为7),以及docker registry地址(reg.itmuch.com)

解决docker下载失败

记得先用yum update

修改或新增 /etc/docker/daemon.json
vi /etc/docker/daemon.json

{
“registry-mirrors”: [“https://registry.docker-cn.com”,“http://hub-mirror.c.163.com”]
}

systemctl restart docker.service

Docker国内源说明:

Docker 官方中国区

https://registry.docker-cn.com

网易

http://hub-mirror.c.163.com

中国科技大学

https://docker.mirrors.ustc.edu.cn

阿里云

https://pee6w651.mirror.aliyuncs.com

  1. docker images

    repository 仓库名称

    tag 镜像标签

    image id 镜像ID

    created 创建时间

    size 镜像大小

  2. docker run hello-word

    创建并且启动容器

    -d 后台运行

    -P 随机端口映射

    -p 指定端口映射

    ​ - ip:hostPort:containerPort

    ​ - ip::containerPort

    ​ - hostPort:containerPort

    ​ -containerPort

    –network 指定网络模式

    ​ --network=bridge 默认的网桥

    ​ host 宿主机的网络

    ​ none 不配置该网络,用户可自定义网络配置

    ​ container:NAME_or_ID: 新建的容器使用已经有的容器配置

    docker run java /bin/echo ‘hello-world’ 就是用 echo ‘hello-world’

    docker run -d -p 91:80 nginx 80端口映射到91

    宿主机端口91,容器端口80 开放容器端口 到 宿主机端口

    访问:http:localhost:91 即可访问到nginx主页

container

集装箱;容器

  1. docker rmi 删除镜像

    docker rmi hello-world

    docker rim -f $(docker images)

    -f 强制删除

docker stop 6789876dffsd (容器的id) 停止容器

docker kill 5444563532er 强制停止容器

docker start ytrer4423423 启动已经停止的容器

docker restart 重启,先是stop 后,start

docker run -d -p 91:80 nginx 80端口映射到91

docker attach 65342334 进入容器 (所有窗口都会显示)

​ docker inspect --format “{{.State.Pid}}” 4b5c2b5a44fd 通过container_id查到pid

​ nsenter --target 7049 --mount --uts --ipc --net --pid 进入

docker rm 65423545 删除docker , 只能已停止的, -f 是强制删除

docker rm -f ${docker ps -a -q}

-*a* :显示所有的容器,包括未运行的。

​ -q :静默模式,只显示容器编号。

docker仓库地址

  • docker 自己的地址
    sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

  • aliyun 的地址
    sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

  • 参考我的链接:

    https://blog.csdn.net/qq120631157/article/details/104302882

yum list 和 docker version

yum list docker-ce
docker-ce.x86_64                           3:20.10.6-3.el8  

yum list docker-ce --showduplicates
docker-ce.x86_64                           3:20.10.5-3.el8                            docker-ce-stable
docker-ce.x86_64                           3:20.10.6-3.el8                            docker-ce-stable



[root@localhost ~]# docker version 
Client: Docker Engine - Community
 Version:           20.10.6
 API version:       1.41
 Go version:        go1.13.15
 Git commit:        370c289
 Built:             Fri Apr  9 22:44:36 2021
 OS/Arch:           linux/amd64
 Context:           default
 Experimental:      true

Server: Docker Engine - Community
 Engine:
  Version:          20.10.6 #引擎版本
  API version:      1.41 (minimum version 1.12) #API
  Go version:       go1.13.15 #go版本
  Git commit:       8728dd2 #提交记录
  Built:            Fri Apr  9 22:43:02 2021 #构建时间,今年4月9号 周五
  OS/Arch:          linux/amd64 #64位
  Experimental:     false
 containerd:
  Version:          1.4.4 #容器版本
  GitCommit:        05f951a3781f4f2c1911b05e61c160e9c30eaa8e
 runc:
  Version:          1.0.0-rc93 #运行版本
  GitCommit:        12644e614e25b05da6fd08a38ffa0cfe1903fdec
 docker-init:
  Version:          0.19.0 #docker初始化
  GitCommit:        de40ad0



Apr 
/ˌeɪ piː ˈɑːr/  全球(英国)  
简明 牛津 新牛津  韦氏  柯林斯 例句  百科
abbr. 四月(April)

周五 /zhōu wǔ/ 
简明 例句  百科
Fri(Friday) 

docker run hello-word

创建并且启动容器

-d 后台运行

-P 随机端口映射

-p 指定端口映射

  • ip:hostPort:containerPort

  • ip::containerPort

  • hostPort:containerPort

-containerPort

–network 指定网络模式

–network=bridge 默认的网桥

  • host 宿主机的网络

  • none 不配置该网络,用户可自定义网络配置

  • container:NAME_or_ID: 新建的容器使用已经有的容器配置

实例

docker run java /bin/echo ‘hello-world’ 就是用 echo ‘hello-world’

docker run -d -p 91:80 nginx 80端口映射到91

  • 宿主机端口91,容器端口80 开放容器端口 到 宿主机端口

访问:http:localhost:91 即可访问到nginx主页

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值