千家信息网

Docker安装及基本命令介绍

发表于:2024-10-01 作者:千家信息网编辑
千家信息网最后更新 2024年10月01日,本篇内容介绍了"Docker安装及基本命令介绍"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!###安
千家信息网最后更新 2024年10月01日Docker安装及基本命令介绍

本篇内容介绍了"Docker安装及基本命令介绍"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

###安装/启动Docker

####在CentOS 7上安装

Docker默认已经包含在CentOS-Extra仓库中,使用以下命令安装

sudo yum install docker

####在CentOS 6.5上安装

对于CentOS 6.5,Docker是 EPEL 仓库的一部分,因此需要确保已经加入EPEL的YUM源。在CentOS 6上,Docker的包名可能与桌面的docker应用冲突,因此,它的包名改为了docker-io

sudo yum -y remove dockersudo yum install docker-io

####启动Docker

安装Docker之后,需要启动Docker守护进程

sudo service docker start

为了让docker能够开机运行,需要使用chkconfig: sudo chkconfig docker on

获取Docker镜像,启动Docker容器

sudo docker pull centossudo docker images centossudo docker run -i -t centos /bin/bash

###基本命令

下列命令创建一个容器简单的输出Hello world:

$ docker run ubuntu:14.04 /bin/echo 'Hello, world'Hello, world

这里docker run命令指定了使用的镜像为ubuntu:14.04,我们的容器就是从该镜像运行。当指定一个镜像的时候,Docker首先会在你的宿主机上查找是否存在该镜像,如果不存在的话会从Docker Hub下载。

接下来指定了要在容器中运行的命令是/bin/echo 'Hello, world',当容器启动之后,Docker会创建一个新的ubuntu 14.04的环境,然后在里面执行这个命令。当命令执行完毕之后,Docker创建的这个容器的生命周期就结束了。

下面我们创建一个交互式的容器:

$ docker run -t -i ubuntu:14.04 /bin/bashroot@af8bae53bdd3:/#

这次同样启动了ubuntu 14.04的镜像,但是这里指定了两个额外的参数-t-i。参数-t为刚才创建的容器分配一个伪终端(pseudo-tty),-i则允许我们通过获取容器的标准输入创建一个交互式的连接。

要退出该容器,在终端输入exit或者ctrl+D即可,这样该容器就可以停止了

root@2e3e7e77adbd:/# exitexit

几个常用的docker命令:

  • docker ps 列出Container

  • docker logs 显示容器的标准输出

  • docker stop 停止运行中的容器

  • docker version 显示当前docker客户端和守护进程的版本信息

docker命令的子命令很多,

attach    附加到一个运行中的容器上去build     从Dockerfile构建镜像commit    从容器当前的修改创建一个新的镜像cp        从容器的文件系统复制文件/文件夹到主机路径create    创建一个新的容器diff      检查容器文件系统发生的修改events    从服务器获取实时的事件exec      在已存在的容器中运行命令export    将容器中的内容以流的方式导出为tar归档history   显示镜像的历史images    列出所有镜像import    从tar包中的内容创建一个新的文件系统镜像info      显示系统的信息inspect   返回容器低级的信息kill      杀掉一个运行中的容器load      从tar归档载入镜像login     注册或者登录到Docker注册服务器logout    从Docker注册服务器登出logs      检索容器中的日志port      查询基于NAT到PRIVATE_PORT的公开端口pause     暂停容器中所有的进程ps        列出容器pull      从Docker注册服务器拉取一个镜像或者仓库push      推送一个镜像或者仓库到Docker注册服务器restart   重启一个运行中的容器rm        删除一个/多个容器rmi       删除一个/多个镜像run       在新的容器中运行命令save      保存镜像到tar归档search    从Docker Hub搜索一个镜像start     启动一个已经停止的容器stop      停止运行中的容器tag       为仓库中的镜像添加标签top       查询容器中运行的进程unpause   取消容器的暂停状态version   显示Docker的版本信息wait      堵塞住直到容器停止,然后打印它的退出码

使用Dockerfile构建镜像:

docker build -t / .

运行镜像:

docker run -p <本地端口>:<容器端口> -d <镜像名称>curl -i <本地IP>:<本地端口>

查看容器的日志(类似于tail -f命令)

docker logs -f <容器名称>

####例子:使用官方Nginx Docker镜像

使用之前,需要先获取官方nginx镜像

docker pull nginx

执行命令如下

docker run --name nginx_server -d -p 8080:80 -v /Users/mylxsw/codes/php:/usr/share/nginx/html:ro nginx

下面对提供的参数进行一一解释:

  • --name指定了我们创建的容器名称为nginx_server

  • -d指定了容器在后台运行

  • -p则指定了将容器的80端口映射到宿主机的8080端口

  • -v参数指定了将本地的/Users/mylxsw/codes/php目录映射到容器的/usr/share/nginx/html目录,并且访问权限为只读

启动该容器之后,就可以通过http://localhost:8080访问了。

更复杂一点,可以通过使用-v参数指定nginx配置文件-v /some/nginx.conf:/etc/nginx/nginx.conf:ro

在指定新的nginx配置文件时,注意一定要设置nginx的daemon off;配置项,如果以后台模式运行的话,容器就没法跟踪nginx的进程,容器启动后就会立即结束。

如果仅仅是测试的话,可以使用--rm选项,这样,在容器结束运行之后就可以自动删除,当然使用--rm选项的时候不能和-d选项同时使用。

docker run --rm --name nginx_server -d -p 8080:80 -v /Users/mylxsw/codes/php:/usr/share/nginx/html:ro nginx

"Docker安装及基本命令介绍"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!

0