docker命令详解「建议收藏」

docker命令详解「建议收藏」镜像下载搜索镜像dockersearch+镜像名字#dockersearchcentos从DockerHub中搜索符合条件的镜像下载镜像#dockerpull+镜像名字#dockerpullcentos查看镜像#dockerimages开启网络转发功能(默认为开启状态)若无开启,可以使用以下命令开启#vim/etc/sysctl…

大家好,又见面了,我是你们的朋友全栈君。

镜像下载

  • 搜索镜像
  • docker search +镜像名字
    #docker search centos

从Docker Hub中搜索符合条件的镜像
在这里插入图片描述

  • 下载镜像
    #docker pull +镜像名字
    #docker pull centos
    在这里插入图片描述

  • 查看镜像
    #docker images
    在这里插入图片描述

  • 开启网络转发功能(默认为开启状态)若无开启,可以使用以下命令开启
    #vim /etc/sysctl.conf
    插入一条语句:net.ipv4.ip_forward=1
    #sysctl -p // 使得语句生效
    #cat /proc/sys/net/ipv4/ip_forward
    在这里插入图片描述
    若你的网络转发功能为开启,在连接docker时,会出现以下错误。导致docker容器中的镜像无法上网。
    在这里插入图片描述

  • docker 平台使用命令

  • 例1:运行一个 container并加载镜像centos,运行起来这个实例后,在实例中执行 /bin/bash命令
    docker 的参数:
    run 运行
    -t 以交互模式运行容器,
    -i 为容器重新分配一个伪输入终端
    [root@break du]# docker images //查看当前下载的镜像
    [root@break du]# docker run -it centos:latest /bin/bash //运行起来一个容器
    [root@73fb5e288c8d /]# exit //退出当前容器
    在这里插入图片描述
    在这里插入图片描述

  • 例2:在 container 中启动一个长久运行的进程,不断向stdin输出 hello。模拟一个后台运行的服务
    docker命令参数:
    -d :后台运行容器,并且返回容器ID
    -c :后面跟着待完成的命令
    [root@break du]# docker run -d centos:latest /bin/bash -c “while true;do echo hello ;sleep 1;done”
    在这里插入图片描述
    #docker logs c4765de4fa30
    在这里插入图片描述
    例3:杀死一个容器。 比如:杀死一个正在后台运行的容器
    [root@break du]# docker run -d centos:latest /bin/bash -c “while true;do echo hello ;sleep 1;done” //docker启动,模拟一个后台服务。
    973835e1a37adacedce8850e688b9f2a0c7cf16690e8b3cbd83685086e97d1b1
    [root@break du]# docker ps //列出所有正在运行中的镜像
    CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
    973835e1a37a centos:latest “/bin/bash -c ‘while…” 6 seconds ago Up 3 seconds jolly_davinci
    [root@break du]# docker kill 973835e1a37a //杀死一个正在后台运行的容器
    973835e1a37a
    [root@break du]# docker ps
    CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
    在这里插入图片描述
    例4:启动、停止、重启 container容器实例
    [root@break du]# docker run -d centos:latest /bin/bash -c “while true;do echo firends;sleep 3;done” //模拟一个后台运行的服务
    de25c2541b2deda1e2413855d7e88564ab6fb8936313e9ddae3a989aff009462
    [root@break du]# docker logs de25c2541b2deda1e2413855d7e88564ab6fb8936313e9ddae3a989aff009462 //查看日志
    firends
    firends
    [root@break du]# docker ps //列出正在运行的容器
    CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
    de25c2541b2d centos:latest “/bin/bash -c ‘while…” 20 seconds ago Up 19 seconds pedantic_colden
    [root@break du]# docker stop de25c2541b2deda1e2413855d7e88564ab6fb8936313e9ddae3a989aff009462 //停止一个容器
    de25c2541b2deda1e2413855d7e88564ab6fb8936313e9ddae3a989aff009462
    [root@break du]# docker ps //列出运行中的容器
    CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
    [root@break du]# docker start de25c2541b2deda1e2413855d7e88564ab6fb8936313e9ddae3a989aff009462 //启动一个容器
    de25c2541b2deda1e2413855d7e88564ab6fb8936313e9ddae3a989aff009462
    [root@break du]# docker ps
    CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
    de25c2541b2d centos:latest “/bin/bash -c ‘while…” 55 seconds ago Up 5 seconds pedantic_colden
    [root@break du]# docker logs de25c2541b2deda1e2413855d7e88564ab6fb8936313e9ddae3a989aff009462
    firends
    firends
    firends

[root@break du]# docker rm -f de25c2541b2deda1e2413855d7e88564ab6fb8936313e9ddae3a989aff009462 //删除容器
de25c2541b2deda1e2413855d7e88564ab6fb8936313e9ddae3a989aff009462
[root@break du]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
在这里插入图片描述
在这里插入图片描述

docker 镜像制作

  • 1docker commit +ID/name
    实例5:创建一个有apache的centos镜像
    1使用docker commit +容器ID+新建的镜像名字
    [root@break du]# docker run -it centos:latest /bin/bash
    [root@4b92f408db31 /]# yum -y install httpd

在这里插入图片描述
[root@break du]# docker commit 4b92f408db31 docker-centos:apache
在这里插入图片描述
在这里插入图片描述
2使用Dockerfile来创建一个含有apache的镜像

  1. 创建工作目录
mkdir /docker-build
cd /docker-build
touch Docker-file
注意:make自动化编译时,需要Makefile文件,而自动化创建docker镜像时,需要Docker-file
  1. 编辑Dockerfile
FROM centos:latest
MAINTAINER <break@du.cn>
RUN yum -y install httpd
ADD start.sh /usr/local/bin/start.sh
ADD index.html /var/www/html/index.html

注释:
FROM centos:latest # FROM 基于哪个镜像
MAINTAINER break@du # MAINTAINER 镜像创建者
RUN yum -y install httpd #RUN 安装软件用
ADD start.sh /usr/local/bin/start.sh
ADD index.html /var/www/html/index.html
ADD 将文件src拷贝到新产生的镜像的文件系统对应的路径dest。所有拷贝到新镜像中的文件和文件夹权限为0755,uid和gid为0

  1. 创建start.sh和index.html
echo "/usr/sbin/httpd-DFOREGROUND"  > start.sh
chmod a+x start.sh
echo "my test images" > index.html
  1. 使用build来创建image
docker build -t docker-centos:apacheruning ./

在这里插入图片描述
在这里插入图片描述

docker发布

方法:Save Image To TarBall
方法1:保存 Image 到 tar 包——将刚才做好的镜像打包。
语法:docker save -o 导出的镜像名.tar 本地镜像名:镜像标签

例如:

docker save -o docker-centos:running.tar docker-centos:apacheruning

在这里插入图片描述

docker load -i docker-centos:apacherunning.tar //导入本地镜像

docker优点

1.一些优势和VM一样,但不是所有都一样。
比VM小,比VM快,Docker容器的尺寸减小相比整个虚拟机大大简化了分布到云和从云分发时间和开销。Docker启动一个容器实例时间很短,一两秒就可以启动一个实例。
2.对于在笔记本电脑,数据中心的虚拟机,以及任何的云上,运行相同的没有变化的应用程序,IT的发布速度更快。
Docker是一个开放的平台,构建,发布和运行分布式应用程序。
Docker使应用程序能够快速从组件组装和避免开发和生产环境之间的摩擦。
3.您可以在部署在公司局域网或云或虚拟机上使用它。
4.开发人员并不关心具体哪个Linux操作系统
使用Docker,开发人员可以根据所有依赖关系构建相应的软件,针对他们所选择的操作系统。
然后,在部署时一切是完全一样的,因为一切都在DockerImage的容器在其上运行。
开发人员负责并且能够确保所有的相关性得到满足。
5.Google,微软,亚马逊,IBM等都支持Docker。
6.Docker支持Unix/Linux操作系统,也支持Windows或Mac

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/145445.html原文链接:https://javaforall.net

(0)
上一篇 2022年5月13日 上午10:00
下一篇 2022年5月13日 上午10:20


相关推荐

  • Docker暴露2375端口导致服务器被攻击解决方法!

    Docker暴露2375端口导致服务器被攻击解决方法!相信了解过dockerremoteAPI的同学对2375端口都不陌生了,2375是docker远程操控的默认端口,通过这个端口可以直接对远程的dockerdaemon进行操作。当$HOST主机以dockerdaemon-H=0.0.0.0:2375方式启动daemon时,可以在外部机器对$HOST的dockerdaemon进行直接操作:docker-Htcp://$HOS…

    2022年4月29日
    264
  • ubuntu彻底卸载docker_docker安装win10

    ubuntu彻底卸载docker_docker安装win10删除docker程序记事本新建脚本文件a.ps1,内容如下:$ErrorActionPreference=”SilentlyContinue”kill-force-processname’DockerforWindows’,com.docker.db,vpnkit,com.docker.proxy,com.docker.9pdb,moby-diag-dl,dockerd…

    2022年10月9日
    6
  • mysql docker 端口号_如何修改 docker 容器中 mysql 的端口号

    修改docker中MySQL配置文件,在mysqld项目下新增port=3307配置[mysqld]port=3307federatedmax_connections=200max_allowed_packet=64Mpid-file=/var/run/mysqld/mysqld.pidsocket=/var/run/mysqld/mysqld.sockdatadir=…

    2022年4月12日
    658
  • kafka集群搭建-docker版本[通俗易懂]

    kafka集群搭建-docker版本[通俗易懂]提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档kafka集群搭建文章目录kafka集群搭建前言一、kafka是什么?二、集群1.集群2.负载均衡3.扩容4.ZookeeperLeader选举kafka架构集群搭建下载安装zookeeper前言kafka是个高吞吐的消息中间件,为啥快啊?1顺序读写20拷贝3批量提交和批量ACK4分片和副本消息队列高可用就得用集群。提示:以下是本篇文章正文内容,下面案例可供参考一、kafka是什么?kafka理论参

    2022年5月2日
    86
  • WSL2 + Docker + xfce4安装及使用

    WSL2 + Docker + xfce4安装及使用WSL2 Docker 安装及使用 WSL 官方指南 适用于 Linux 的 Windows 子系统安装指南 Windows10 文档比较详细 欢迎大家指错一 前言 1 1 什么是 WSL wsl 是适用于 Linux 的 Windows 子系统 英语 WindowsSubsy 简称 WSL 是一个为在 Windows10 和 WindowsServe 上能够原生运行 Linux 二进制可执行文件 ELF 格式 的兼容层 可让开发人员按原样运行 GNU Linux

    2026年3月18日
    2
  • docker 安装 Nginx 并配置反向代理

    docker 安装 Nginx 并配置反向代理1 安装 nginxdocker 镜像获取 nginx 官方镜像 dockerpullng 查看镜像库 dockerimages 使用 nginx 镜像来创建 nginx 容器实例 dockerrunnam test p80 80 dnginxrun 创建容器实例 name 容器命名 v 映射目录 d 设置容器后台运

    2026年3月26日
    1

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号