Docker的镜像、容器、仓库基础管理

镜像管理

基础镜像拉取
docker search centos ---------搜索镜像centos
docker pull centos:6.9 --------拉取镜像centos:6.9

镜像基本查看
docker image ls--------------查看所有镜像
docker image ls -q ----------只查看镜像id

标识镜像唯一性的方法:

  1. REPOSITORY:TAG
    centos:7.5.1804
  2. IMAGE ID (sha256:64位的号码,默认只截取12位)
    82f3b5f3c58
    [root@docker /]# docker image ls --no-trunc ---------------查看sha256全长

镜像详细信息查看
[root@docker /]# docker image inspect ubuntu:latest

镜像的导入和导出
[root@docker ~]# docker image save 3556258649b2 >/tmp/ubu.tar
[root@docker ~]# docker image rm 3556258649b2
[root@docker ~]# docker image load -i /tmp/ubu.tar

镜像的删除
[root@docker ~]# docker image rm -f 3556258649b2
[root@docker ~]# docker image rm -f $(docker image ls -q)----------删除所有镜像

容器的管理

交互式运行的容器
交互式的容器: 工具类: 开发,测试,临时性的任务()
[root@docker /]# docker container run -it --name=“oldguo_cent76” --rm 9f38484d220f
-i:交互式
-t:前端,终端
–name:指定容器名字
–rm:退出容器立刻删除该容器
9f38484d220f:镜像id

守护式容器
守护式容器: 网络服务
[root@docker /]# docker run -d -p 8080:80 --name=“oldguo_nginx” nginx:1.14
-d:后台运行
-p:把容器的80端口映射到宿主机的80端口

容器的启动\关闭\连接
交互式的容器的关闭和启动
[root@docker /]# docker container stop nervous_allen
[root@docker /]# docker container start -i nervous_allen

守护式容器的关闭和启动
[root@docker /]# docker container stop oldguo_nginx_80
[root@docker /]# docker container start oldguo_nginx_80

容器的连接方法:
子进程的方式登录(在已有工作容器中生成子进程,做登录.可以用于进行容器的调试,退出时也不会影响到当前容器)
[root@docker ~]# docker container exec -it nervous_allen /bin/bash

扫描二维码关注公众号,回复: 11547023 查看本文章

docker容器的网络访问
指定映射(docker 会自动添加一条iptables规则来实现端口映射)
-p hostPort:containerPort
-p ip:hostPort:containerPort
-p ip::containerPort(随机端口:32768-60999)
-p hostPort:containerPort/udp
-p 81:80 –p 443:443
随机映射
docker run -P 80(随机端口)

容器的其他管理
[root@docker ~]# docker container top ba9143bcaf74-----------显示运行中的容器的进程号
查看日志:
docker logs [-t][-f] container id or name

1.镜像类:
  docker image
         search
        pull
         ls
         inspect
         rm
         save
         load
2.容器类
   docker container
           run
           start
           stop
           restart
           kill
           attach
           exec
           ls
           top  
           logs
           inspect

Docker的数据卷实现持久化存储
Volume实现宿主机和容器的数据共享
[root@docker opt]# mkdir -p /opt/html
[root@docker ~]# docker run -d --name=“nginx_3” -p 83:80 -v /opt/html:/usr/share/nginx/html nginx
把容器的/usr/share/nginx/html 映射给宿主机的/opt/html

数据卷容器:
(1)宿主机模拟数据目录
mkdir -p /opt/Volume/a
mkdir -p /opt/Volume/b
touch /opt/Volume/a/a.txt
touch /opt/Volume/b/b.txt

(2)启动数据卷容器
docker run -it --name “nginx_volumes” -v /opt/Volume/a:/opt/a -v /opt/Volume/b:/opt/b centos:6.9 /bin/bash
ctrl +p +q让容器在后台运行

(3)使用数据卷容器
docker run -d -p 8085:80 --volumes-from nginx_volumes --name “n8085” nginx
docker run -d -p 8086:80 --volumes-from nginx_volumes --name “n8086” nginx
作用: 在集中管理集群中,大批量的容器都需要挂载相同的多个数据卷时,可以采用数卷容器进行统一管理

Docker构建私有registry

启动registry

docker run -d -p 5000:5000 --restart=always --name registry -v /opt/registry:/var/lib/registry registry

修改配置文件

{
“registry-mirrors”: [“https://68rmyzg7.mirror.aliyuncs.com”],
“insecure-registries”: [“10.0.0.100:5000”]
}

[root@docker docker]# systemctl restart docker

制作本地镜像并push到

[root@docker ~]# docker tag nginx 10.0.0.100:5000/oldguo/nginx:v1
[root@docker ~]# docker images
[root@docker ~]# docker push 10.0.0.100:5000/oldguo/nginx:v1

异地进行pull镜像

[root@docker ~]# docker pull 10.0.0.100:5000/oldguo/nginx:v1

本地仓库加安全认证

生成密码:
yum install httpd-tools -y
mkdir /opt/registry-auth/ -p
htpasswd -Bbn oldguo 123 > /opt/registry-auth/htpasswd

重新启动带有秘钥功能的registry容器

docker rm -f $(docker ps -aq)
docker run -d -p 5000:5000 -v /opt/registry-auth/:/auth/ -v /opt/registry:/var/lib/registry --name register-auth -e “REGISTRY_AUTH=htpasswd” -e “REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm” -e “REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd” registry

push镜像,需要进行login

[root@oldboy ~]# docker login 10.0.0.100:5000
Username: oldguo
Password:

重启docker服务,容器全部退出的解决办法

方法一:docker run --restart=always

方法二:“live-restore”: true
docker server配置文件/etc/docker/daemon.json
{


“live-restore”: true
}

猜你喜欢

转载自blog.csdn.net/qq_44788449/article/details/107109803