前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >docker命令详解「建议收藏」

docker命令详解「建议收藏」

作者头像
全栈程序员站长
发布2022-08-27 11:59:17
5020
发布2022-08-27 11:59:17
举报
文章被收录于专栏:全栈程序员必看

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

镜像下载

  • 搜索镜像
  • 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. 创建工作目录
代码语言:javascript
复制
mkdir /docker-build
cd /docker-build
touch Docker-file
注意:make自动化编译时,需要Makefile文件,而自动化创建docker镜像时,需要Docker-file
  1. 编辑Dockerfile
代码语言:javascript
复制
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
代码语言:javascript
复制
echo "/usr/sbin/httpd-DFOREGROUND"  > start.sh
chmod a+x start.sh
echo "my test images" > index.html
  1. 使用build来创建image
代码语言:javascript
复制
docker build -t docker-centos:apacheruning ./
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

docker发布

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

代码语言:javascript
复制
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.cn/145445.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年5月1,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 镜像下载
  • docker 镜像制作
  • docker发布
  • docker优点
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档