docker镜像管理和容器管理以及制作本地仓库

1. 镜像管理
    1.1 获取镜像
    docker search centos
    docker pull centos:6.9
    docker pull centos:7.5.1804
    docker pull nginx
    1.2 查询镜像
    docker images
    docker images -q
    docker inspect ID/name:tag
    1.3 删除镜像
    docker rmi  ID
    docker rmi `docker images -q`
    docker rmi $(docker images -q)

    1.4 导入导出镜像
    [[email protected] ~]# docker image save nginx >/opt/nginx.tar.gz
    [[email protected] ~]# docker image load -i /opt/nginx.tar.gz

    1.5 启动容器并获取镜像
    [[email protected] ~]# docker  run -d -p 80:80 httpd
    [[email protected] ~]# docker ps -a
    [[email protected] ~]# docker images

    1.6 docker一步一步学习制作镜像
        语法:
        第一个镜像创建:
        docker ps -a
        docker commit xxxxxx oldguo/wordpress:v1
        docker images 

制作镜像: centos7.5+vim+net-tools+iproute+sshd

1.启动新容器
docker run -it --name "centos7.5" 76d6bc25b8a5

2.优化yum源
mv /etc/yum.repos.d/*.repo /tmp
echo -e "[ftp]\nname=ftp\nbaseurl=ftp://10.0.0.100/pub/centos7\ngpgcheck=0">/etc/yum.repos.d/ftp.repo

3. 安装必须软件包

yum install -y vim net-tools  iproute   openssh-*   -y

4.启动SSHD

 mkdir /var/run/sshd
 echo ‘UseDNS no‘ >> /etc/ssh/sshd_config
 sed -i -e ‘/pam_loginuid.so/d‘ /etc/pam.d/sshd
 echo ‘root:123456‘ | chpasswd
 /usr/bin/ssh-keygen -A
 /usr/sbin/sshd -D 

 注意: 以上操作做完之后,会一直不退出,需要用以下命令退回到宿主机,并不关闭容器
 ctrl p  q

5.制作镜像
docker commit centos7.5 oldguo/centos7_sshd:v2

## Centos7.5
[[email protected] sshd]# vim  dockerfile
FROM centos:7.5.1804
RUN mv /etc/yum.repos.d/*.repo /tmp
RUN echo -e "[ftp]\nname=ftp\nbaseurl=ftp://10.0.0.100/pub/centos7\ngpgcheck=0">/etc/yum.repos.d/ftp.repo
RUN yum install -y openssh-server
RUN yum install -y openssh-clients
RUN yum install net-tools* -y
RUN yum install iproute-* -y
RUN mkdir /var/run/sshd
RUN echo ‘UseDNS no‘ >> /etc/ssh/sshd_config
RUN sed -i -e ‘/pam_loginuid.so/d‘ /etc/pam.d/sshd
RUN echo ‘root:123456‘ | chpasswd
RUN /usr/bin/ssh-keygen -A
EXPOSE 22
CMD ["/usr/sbin/sshd", "-D"]

docker build -t "oldguo/centos7_sshd:v3" /opt/dockerfile

===========================================
2. 容器基本管理
    2.0 容器的类型
        工具类:vim
             docker run -it --name="test_vim"  3fe2fe0dab2e /bin/bash
        服务类:nginx
            docker run -d -p 8080:80 --name="discuz" nginx:1.14

    2.1 容器的多类启动方式
     (1)交互式启动
     [[email protected] ~]# docker run -it --name "testcentos" centos:6.9 /bin/bash
     主要是针对于工具类的容器,一旦exit容器,容器就自动关闭
     (2)守护式启动
      1.交互式启动容器+Ctrl+p+q
      [[email protected] ~]# docker run  -it --name "testnginx" nginx /bin/bash
      加ctrl+p+q
        [[email protected] ~]# docker attach testnginx
      2.死循环
     docker run  --name testnginx1  -d nginx /bin/sh -c "while true ;do echo hello world; sleep 1;done"
      3.服务前台运行
       sshd -D
       nginx -g ""

       hang 夯住

    2.2 容器的常用管理命令
    docker ps -a  -q -l

    docker rm 容器ID|容器名称
    批量删除已关闭
    docker rm -v $(docker ps -aq -f status=exited)
    批量强制删除所有
    docker rm -f `docker ps -a –q`

    docker top nginx
    docker inspect nginx
    docker attach 容器ID|容器名称(工具类)配合ctrl+p+q
    docker exec  -i -t  容器ID|容器名称 /bin/bash(服务类),一般是做服务类容器调试用
    [[email protected] ~]# docker exec -it  centos6.9   /bin/bash

    docker stop
    docker kill

    docker  start -i
    docker  restart 容器ID|容器名称

3. 数据卷的使用(持久化)

4.制作私有仓库

4.1 配置私有仓库

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

vim /etc/docker/daemon.json

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

systemctl  restart docker

4.2 使用本地镜像:
4.2.1 制作本地镜像并push到

[[email protected] ~]# docker tag nginx 10.0.0.100:5000/oldguo/nginx:v1
[[email protected] ~]# docker images
[[email protected] ~]# docker push 10.0.0.100:5000/oldguo/nginx:v1

4.2.2 异地进行pull镜像
[[email protected] ~]# docker pull  10.0.0.100:5000/oldguo/nginx:v1    

故障转移:(高可用)

1.主备系统

原文地址:https://www.cnblogs.com/xuqidong/p/11785941.html

时间: 2024-11-02 01:27:50

docker镜像管理和容器管理以及制作本地仓库的相关文章

4. docker镜像的概念、管理(查看、下载、删除)

镜像的概念 镜像是一个包含程序运行必要依赖环境和代码的只读文件,它采用分层的文件系统,将每一次改变以读写层的形式增加到原来的只读文件上.镜像是容器运行的基石. 下图展示的是Docker镜像的系统结构.其中,镜像的最底层必须是一个称为启动文件系统(bootfs)的镜像,用户不会与这一层直接打交道.bootfs的上层镜像就是我们熟知的根镜像. 镜像的本质是磁盘上一系列文件的集合. 查看 docker images:可以列出本机上的所有镜像: REPOSITORY:仓库名称. [namespace/c

Docker 系列三(容器管理).

一.运行容器 1.基于镜像新建一个容器并启动 docker run -it --rm -d -p 8888:8080 tomcat:8.0 -i:交互式操作 -t:终端 -rm:容器退出后随之将其删除,可以避免浪费空间 -p :端口映射 -d :容器在后台运行 指明了 -d 运行镜像,会返回容器的 id:如果不指明 -d 运行镜像,会打印出 catalina.out 的 日志,在 [crtl +c] 后,容器即停止运行. 当利用 docker run 来创建容器时,Docker 在后台运行的标准

docker(3)容器管理命令

接着上一篇,今天说一下Docker 有关容器的常用命令.算是比较详细了吧. docker run  命令: 注:此命令作用是使用一个镜像运行启动一个容器. 在启动运行的时候 会检查docker 中是否包含了该镜像 如果没有包含 ,docker 会自动的在 docker 的仓库中下载你想使用的镜像.也就是说有时候咱们可以省略:Doker  pull 命令. Docker run 命令常用的参数 1:--name [镜像名] : --name 给启动的容器 起一个名字,如果不使用 –name   d

容器管理之--容器管理

容器的命令选项 选项 描述 -i,--interactive 交互式 -t,--tty 分配一个伪终端 -d,--detach 运行容器到后台 -e,--env 设置环境变量 -p,--publish list 发布容器端口到主机 -P,--publish-all 发布容器所有EXPOSE的端口到宿主机随机端口 --name string 指定容器名称 -h,--hostname 设置容器主机名 --ip string 指定容器IP,只能用于自定义网络 --network 连接容器到一个网络 -

本地docker镜像上传到腾讯云镜像仓库。

和上篇上传到Docker Hub类似,只是登录时切换成腾讯云镜像仓库地址(ccr.ccs.tencentyun.com/longdbtencentdocker/publongdb)即可. docker login --username=账号ID ccr.ccs.tencentyun.com/longdbtencentdocker/publongdb 开始一直不成功是因为网上说的,用注册时的账号(我用qq号注册的腾讯云)login即可. 后来用腾讯云对应的账号ID就成功啦. 账号ID可以在账号信息

Docker镜像管理基础与基于容器的镜像制作示例

一.Docker镜像 Docker镜像是启动Docker容器的一个非常重要的组件.Docker各组件之间的关系如图: Docker镜像含有启动容器所需要的文件系统及其内容,因此Docker镜像用于创建并启动容器.并且Docker镜像是采用分层构建,联合挂载的机制实现的.那什么是分层构建,联合挂载呢?如图: 在分层构建机制中,最底层为bootfs,用于系统引导的文件系统,包括bootloader和kernel,容器启动完成后会被卸载以节省内存资源.在bootfs之上的是rootfs,这里就是doc

Docker背后的容器管理——Libcontainer深度解析

Libcontainer 是Docker中用于容器管理的包,它基于Go语言实现,通过管理namespaces.cgroups.capabilities以及文件系统来进行容器控制.你可以使用Libcontainer创建容器,并对容器进行生命周期管理. 容器是一个可管理的执行环境,与主机系统共享内核,可与系统中的其他容器进行隔离. 在2013年Docker刚发布的时候,它是一款基于LXC的开源容器管理引擎.把LXC复杂的容器创建与使用方式简化为Docker自己的一套命令体系.随着Docker的不断发

Docker 镜像管理

一.概念 Docker所宣称的用户可以随心所欲地"Build.Ship and Run"应用的能力,其核心是由Docker image来支撑的.Docker通过把应用运行时的环境和应用打包在一起,解决了环境部署依赖的问题,通过引入分层文件系统的概念,解决了空间利用的问题. Docker 镜像(Image)就是一个只读的模板.例如:一个镜像可以包含一个完整的操作系统环境,里面仅安装了 Apache 或用户需要的其它应用程序.镜像可以用来创建 Docker 容器,一个镜像可以创建很多容器.

docker镜像、容器

第一部分:Docker镜像的基本知识 1.1 什么是Docker镜像 从整体的角度来讲,一个完整的Docker镜像可以支撑一个Docker容器的运行,在 Docker容器运行过程中主要提供文件系统视角.例如一个ubuntu:14.04的镜像,提供了一个基本的ubuntu:14.04的发行版,当然此 镜像是不包含操作系统Linux内核的. 说到此,可能就需要注意一下,linux内核和ubuntu:14.04Docker镜像的区别了.传统虚拟机安装ubuntu:14.04会包含两部分,第一,某一个L