广告
返回顶部
首页 > 资讯 > 后端开发 > Python >docker-3 基础命令
  • 571
分享到

docker-3 基础命令

命令基础docker 2023-01-31 01:01:06 571人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

创建镜像创建镜像的方法有三种:基于已有的容器创建基于本地模板导入基于Dockerfile基于已有的容器创建主要使用docker commit 命令,命令格式:docker commit [OPTioNS] CONTaiNER [REPOSI

创建镜像

创建镜像的方法有三种:

  • 基于已有的容器创建

  • 基于本地模板导入

  • 基于Dockerfile

基于已有的容器创建

主要使用docker commit 命令,命令格式:

docker commit [OPTioNS] CONTaiNER [REPOSITORY[:tag]],主要包括:

-a ,--author=""  作者信息

-m,--message=""提交消息

-p,--pause=true 提交时暂停容器

例如:

# docker run -it Centos /bin/bash[root@d7e7ac1cbca2 /]# touch test
[root@d7e7ac1cbca2 /]# ls 
anaconda-post.log bin dev etc home lib lib64 lost+found media mnt opt proc root run sbin srv sys test tmp usr var
# docker commit -m "add a file" -a "kafeikele" de6 centos_copy
5d318afa9e6f7fdb755db97e29e3860b752f24b0b50e6bfa0b7e457450802c0e
# docker p_w_picpaths
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
centos_copy latest 5d318afa9e6f 13 seconds aGo 196.7 MB


基于本地模板导入

推荐使用openVZ提供的模板来创建

https://openvz.org/Download/templates/precreated

#cat centos-7-x86_64-minimal.tar.gz.crdownload | docker import - centos:latest

存出和导入镜像

# docker p_w_picpaths
centos   7.1.1503      47a77536ad4c        8 weeks ago         212.1 MB
# docker save -o centos_7.1.tar centos:7.1.1503 
# docker load --input centos_7.1.tar
# docker load < centos_7.1.tar

 

基于dockerfile

之后的内容详细介绍

 

运行第一个docker容器

# docker run centos echo "hello world"
Unable to find p_w_picpath 'centos:latest' locally
latest: Pulling from centos
47d44cb6f252: Pull complete
168a69b62202: Pull complete
812e9d9d677f: Pull complete
4234bfdd88f8: Pull complete
ce20c473cd8a: Pull complete
centos:latest: The p_w_picpath you are pulling has been verified. Important: p_w_picpath verification is a tech preview feature and should not be relied on to provide 
security.
Digest: sha256:3aaab9f1297db9b013063c781cfe901e2aa6e7e334c1d1f4df12f25ce356f2e5
Status: Downloaded newer p_w_picpath for centos:latest
hello world

命令说明:

docker run :标准容器启动命令

centos: 镜像名称,默认是latest

echo和后面的内容:容器启动后执行的命令

启动一个交互式容器

docker run -it centos /bin/bash

*注:-t标示在心容器内指定一个伪终端或终端,-i标示允许我们对容器内的STDIN进行交互

以服务方式启动一个docker容器

如果你实际测试,估计也发现了,第一个“hello world”容器启动后执行完echo命令就退出了,而第二个交互式的容器,只要用户退出当前容器的bash,容器也退出了。这明显不能满足一个服务长时间运行的要求,好找docker run提供了‘-d’参数,可以实现将容器以守护进程方式启动。

docker  run -d  centos /bin/bash -c "while true; do echo Docker,hello world; sleep 2; 
179fc7f17c358834364d23112aa26d6a9e1875b2281563720425f62a8f1b5c33

这个长的字符串叫做容器ID。它是容器的唯一标识,所以我们可以使用它来操作容器,比如查看日志、停止或删除容器等。

dock logs 179fc7f17c358834364d

而为什么使用一个死循环来输出呢?

因为如果不是死循环,一次输出后,容器中的进程就结束了。容器的唯一进程都结束了,容器就停止了。因此如果要在容器中运行具体的服务,这项服务本身在容器中也必须是已守护进程方式运行的。

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
主要选项:
-d : 以后台进行方式运行容器
-t : 提供一个伪终端
-i : 提供交互输入,一般与“-t”一起使用,如果只提供“-i”选项,则容器启动后是无法退出的
-v : 映射一个volume给容器,如: -p /data/www:/var/www/html
-p : 将容器的端口映射给宿主机,如: -p 8080:80

  

更多命令操作

# docker p_w_picpaths 列出本地所有镜像
 
# docker search centos  从默认镜像仓库搜索镜像
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
centos The official build of CentOS. 2767 [OK] 
ansible/centos7-ansible Ansible on Centos7 90 [OK]
jdeathe/centos-ssh CentOS-6 6.8 x86_64 / CentOS-7 7.2.1511 x8... 42 [OK]
jdeathe/centos-ssh-apache-PHP CentOS-6 6.8 x86_64 - Apache / php / PHP M... 21 [OK]
nimmis/java-centos This is docker p_w_picpaths of CentOS 7 with dif... 17 [OK]
consol/centos-xfce-vnc Centos container with "headless" VNC sessi... 14 [OK]

#docker pull centos  下载镜像到本地

#docker create -it  ubuntu:latest  创建一个容器 
Unable to find p_w_picpath 'ubuntu:latest' locally
latest: Pulling from ubuntu
58488e45273c: Pull complete 
25810b66099e: Pull complete 
6571ba684f54: Pull complete 
6ed49a73D8f0: Pull complete 
c53777cbfc31: Pull complete 
56465e1e45d2: Pull complete 
Digest: sha256:312986132029d622ae65423ca25d3a3cf4510de25c47b05b6819d61e2e2b5420
Status: Downloaded newer p_w_picpath for ubuntu:latest
1330233e50aba7fca99e5914bd28dd89321bc86ec35fb36b4775d3424337c190
#docker start 1330233e

docker create 命令创建的容器处于停止状态,需要用docker start 把它启动
docker run 命令等价于先执行docker create命令, 然后再执行docker start 命令
# docker run ubuntu /bin/echo "hello world"hello world
# docker ps -a   列出所有的容器
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
1330233e50ab ubuntu:latest "/bin/bash" About a minute ago happy_engelbart
#docker ps -l  列出最新创建的容器

#docker stop   1330233e 停止一个容器,和start相反,133023是容器ID

#docker rm 1330233e  删除一个停止的容器
#docker rm -f 1330233e  强制删除一个容器,没有停止也可以删掉,不建议使用

#docker rmi 镜像名   删除一个镜像

 进入容器

方法一:

# docker attach a54615a88787    后面跟的是容器名或者id,退出后docker容器也退出,不常用

方法二:

# docker exec -it a54615a88787 /bin/bash    跟的是容器名或者id

方法三:

yum -y install util-linux

# docker inspect --fORMat "``.`State`.`Pid`" stupefied_cray  最后面跟的是容器的名称
4899
# nsenter --target 4899 --mount --uts --ipc --net --pid

脚本

#!/bin/bash

CNAME=$1

CPID=$(docker inspect --format "``.`State`.`Pid`" $CNAME)

nsenter --target $CPID --mount --uts --ipc --net –pid


--结束END--

本文标题: docker-3 基础命令

本文链接: https://www.lsjlt.com/news/183383.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • docker-3 基础命令
    创建镜像创建镜像的方法有三种:基于已有的容器创建基于本地模板导入基于dockerfile基于已有的容器创建主要使用docker commit 命令,命令格式:docker commit [OPTIONS] CONTAINER [REPOSI...
    99+
    2023-01-31
    命令 基础 docker
  • linux命令基础(3)
    find是最常见和最强大的查找命令,你可以用它找到任何你想找的文件。find的使用格式如下:find <指定目录> <指定条件> <指定动作>- <指定目录>: 所要搜索的目录及其所有子目录。...
    99+
    2023-01-31
    命令 基础 linux
  • Linux基础命令(3)
    十二 lsof命令简介lsof(list open files) 是一个列出当前系统打开文件的工具。在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件。所以 如传输控制协议 (TCP) ...
    99+
    2023-01-31
    命令 基础 Linux
  • HP-UX基础命令3
    crontab -l 查看schedule列表crontab -e 编辑schedule列表   5    *    *    *    *    /opt/psb/bin/restart_logserv.sh               ...
    99+
    2023-01-31
    命令 基础 HP
  • Linux基础篇之五基础命令 ---- 3
    在linux中,我们经常需要查找某些文件,以及文件所在目录等。那么我们需要用到一些基本的文件查找类命令。文件查找命令主要有以下几个:·which    查看命令或可执...
    99+
    2022-10-18
  • Docker有哪些基础命令
    这篇文章主要为大家展示了“Docker有哪些基础命令”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Docker有哪些基础命令”这篇文章吧。一:概述使用docker或者docker help 可以...
    99+
    2023-06-04
  • docker的基础命令有哪些
    这篇文章主要讲解了“docker的基础命令有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“docker的基础命令有哪些”吧!1.0引入1.1docker...
    99+
    2022-10-19
  • Docker基础和常用命令详解
    目录一,Docker 简介1.1,什么是 Docker1.2,Docker 与虚拟机的区别1.3,Docker 架构1.4,为什么用 Docker二,Docker 基本概念2.1,镜...
    99+
    2022-11-13
    docker基础 docker常用命令 docker使用教程
  • H3命令基础命令
    2、h3c基本命令:   system view进入特权模式    display查看信息      curren当前配置    version版本       sysname更改主机名          undo取消(删除)     qu...
    99+
    2023-01-31
    命令 基础
  • MongoDb基础命令
    一些基础忘记随时查看。。#整备恢复mongodump --port 20001 --authenticationDatabase=admin -u *  -d lvlv -c lvlv -o /h...
    99+
    2022-10-18
  • Rman--基础命令
    RMAN基础命令(1)启动关闭数据库RMAN> shutdown immediateRMAN> startup(2)执行操作系统命令RMAN> host;//退出exit(3)执行SQL语...
    99+
    2022-10-18
  • Linux基础命令---more
    more将内容较长的文本文件内容分屏显示,支持定位关键字。此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。 1、语法more [-dlfpcsu] ...
    99+
    2023-06-05
  • Linux基础命令---head
    head显示文件开头的几行,默认显示10行,可以使用选项-n来指定行数。此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。1、语法head [选项] &nbs...
    99+
    2023-06-06
  • Linux基础命令---gunzip
    gunzip解压缩被gzip压缩过的文件。此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。1、语法gunzip [-acfhlLnNrtvV]  ...
    99+
    2023-06-05
  • Linux基础命令---bzcat
    bzcat解压缩被bzip2压缩过的文件,将文件解压到标准输出,此命令只有一个选项-s。该指令对压缩过的二进制文件没有意义,因为二进制文件没有可读性。此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、SUSE、openS...
    99+
    2023-06-05
  • Linux基础命令---zcat
    zcat解压有gzip压缩的文件,将解压结果送到标准输出。此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。1、语法zcat [-fhVL] 文件 ...
    99+
    2023-06-05
  • Linux基础命令---bunzip2
    bunzip2解压缩bzip2压缩过的文件。此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。1、语法bunzip2 [-fkvsVL]  文件&n...
    99+
    2023-06-06
  • Linux基础命令---zip
    zipzip是一种最通用的文件压缩方式,使用于unix、msdos、windows、OS等系统。如果在编译zip时包含bzip 2库,zip现在也支持bzip 2压缩。当将大于4GB的文件添加到存档中时,zip会自动使用Zip 64扩展名,...
    99+
    2023-06-06
  • Linux基础命令---gzexe
    gzexe压缩可执行文件,在执行程序的时候可以自动实现解压。此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。1、语法gzexe file 2、选项列表选项说...
    99+
    2023-06-06
  • Linux基础命令- history
    Linux基础命令- history 1.history 显示历史命令 作用:用于显示历史记录和执行过的指令命令 当登录shell或者是退出的时候会自动进行读取和存储 1.常用参数 语法:# history 选项 参数#参数-n ...
    99+
    2023-08-22
    linux 运维 服务器
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作