Docker入门连载——(3)docker常用命令

  • 时间:
  • 来源:互联网
  • 文章标签:

docker常用命令

    • 常用命令
      • 1、辅助命令
      • 2、Images 镜像命令
      • 3、Contrainer 容器命令
        • 3.1、基本命令(容器外操作)
        • 3.2、进阶命令(容器内数据交互)

常用命令

1、辅助命令

# 1.安装完成辅助命令

		docker version	--------------------------	查看docker的信息
		docker info		--------------------------	查看更详细的信息
		docker --help	--------------------------	帮助命令

2、Images 镜像命令

# 1.查看本机中所有镜像
	docker images	--------------------------	列出本地所有镜像
		-a			列出所有镜像(包含中间映像层)
  	-q			只显示镜像id

# 2.搜索镜像
	docker search [options] 镜像名	-------------------	去dockerhub上查询当前镜像
		-s 指定值		列出收藏数不少于指定值的镜像
  	--no-trunc	  显示完整的镜像信息
  	
# 3.从仓库下载镜像
	docker pull 镜像名[:TAG|@DIGEST]	----------------- 下载镜像
	例: (1)docker pull nginx  ---------------将默认拉取最新版等于docker pull nginx:latest命令
	     (2) docker pull nginx:1.11.1 ---------------拉取指定版本的nginx
# 4.删除镜像
	docker rmi 镜像名	--------------------------  删除镜像
		-f		强制删除

3、Contrainer 容器命令

再来回顾一次docker架构图
在这里插入图片描述
上一节课我们看了镜像的一些基本操作,下面我们来看看容器的操作。
在docker中主要用到的就是容器。
容器的基本概念就是:它就是应用运行的一个实例,比如我日后下载了nginx镜像,我用docker run nginx 就是运行了一个正在跑起来的nginx服务。

3.1、基本命令(容器外操作)

# 1.运行容器
	docker run 镜像名	--------------------------	镜像名新建并启动容器
    --name 					别名为容器起一个名字
    -d							启动守护式容器(在后台启动容器)
    -p 							映射端口号:原始端口号		 指定端口号启动
ps:--name需要写在-p之前
	例:docker run -d -p 80:80 nginx ----------代表启动nginx并把容器内部的80端口映射到主机centos7的80端口,此时会给我们返回一串字符串,这就是当前容器的id
          现在去访问192.168.0.103(主机ip) 就可以看到nginx服务提示了
 # 2.查看运行的容器
	docker ps					--------------------------	列出所有正在运行的容器
	-a			正在运行的和历史运行过的容器
	-q			静默模式,只显示容器编号
   
# 3.停止|关闭|重启容器
  (容器id可以只输入一部分,能识别出来就行)
	docker start   容器名字或者容器id  --------------- 开启容器
	docker restart 容器名或者容器id    --------------- 重启容器
	docker stop  容器名或者容器id 	    ------------------ 正常停止容器运行
	docker kill  容器名或者容器id      ------------------ 立即停止容器运行
	
# 4.删除容器
	docker rm -f 容器id和容器名     
	docker rm -f $(docker ps -aq)		--------------------------	一次性删除所有容器

# 5.查看容器内进程
	docker top 容器id或者容器名 ------------------ 查看容器内的进程

# 6.查看查看容器内部细节
	docker inspect 容器id 		------------------ 查看容器内部细节

# 7.查看容器的运行日志
	docker logs [OPTIONS] 容器id或容器名	------------------ 查看容器日志
    -t			 加入时间戳
    -f			 跟随最新的日志打印
    --tail 	 数字	显示最后多少条

3.2、进阶命令(容器内数据交互)

centos ----> docker(引擎) ----> mynginx(容器)


# 1.进入容器内部
	docker exec [options] 容器id 容器内命令 ------------------ 进入容器执行命令
		-i		以交互模式运行容器,通常与-t一起使用
    -t		分配一个伪终端    shell窗口   /bin/bash 
    例如:docker exec -it 8151 /bin/bash
# 2.容器内安装软件
	apt-get update
	apt-get install 安装包名称

# 3.修改容器内文件
	vim ...
	
# 4.退出容器
	exit		退出容器

# 5.将容器打包为新的镜像
	docker commit -a="作者" -m="描述信息" 容器ID 目标镜像名称:TAG

# 6.从容器中复制文件到宿主机目录中
	docker cp 容器id:容器内资源路径 宿主机目录路径  -----------------   将容器内资源拷贝到主机上

# 7.设置容器和宿主机共享目录
		docker run -it -v /宿主机的绝对路径:/容器内的路径:ro(只读) 镜像名
			注意: 宿主机路径必须是绝对路径,宿主机目录会覆盖容器内目录内容	
			例如:docker run -d -p 80:80 -v /root/home:/usr/share/nginx/html nginx
		运行 docker inspect 容器id 命令 检查json串里有没有以下内容,如果有则证明卷挂载成功。
		"Mounts": [
            {
                "Type": "bind",
                "Source": "/root/home",
                "Destination": "/usr/share/nginx/html",
                "Mode": "",
                "RW": true,
                "Propagation": "rprivate"
            }
        ]

# 8.打包镜像
		docker save 镜像名或id -o  名称.tar
# 9.载入镜像
		docker load -i   名称.tar

本文链接http://www.taodudu.cc/news/show-83240.html