博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Docker安装及基本命令
阅读量:6580 次
发布时间:2019-06-24

本文共 3025 字,大约阅读时间需要 10 分钟。

hot3.png

###安装/启动Docker

####在CentOS 7上安装

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

sudo yum install docker

####在CentOS 6.5上安装

对于CentOS 6.5,Docker是 仓库的一部分,因此需要确保已经加入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首先会在你的宿主机上查找是否存在该镜像,如果不存在的话会从下载。

接下来指定了要在容器中运行的命令是/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

参考:

转载于:https://my.oschina.net/agiledev/blog/423928

你可能感兴趣的文章
gtp转换mbr
查看>>
django rest framework
查看>>
poj1985 求树的直径
查看>>
Python PyPI中国镜像
查看>>
centos 设置静态IP
查看>>
[Angularjs]系列——学习与实践
查看>>
js -- canvas img 封装
查看>>
转 我们工作的动力是什么 工作最终是为了什么?
查看>>
测试一个网站的最大并发量并发数并发用户
查看>>
适配器模式(数据库方面)支持不同的数据库连接
查看>>
CF456B Fedya and Maths 找规律
查看>>
nodejs安装及windows环境配置
查看>>
转载:Beginning WF 4.0翻译——第三章(流程图工作流)
查看>>
mysql alter table
查看>>
芯片测试
查看>>
在源代码中插入防止盗版代码片段的方式
查看>>
hdu 3367 Pseudoforest(最大生成树)
查看>>
一个人,一则故事,一份情愫,一个世界……
查看>>
ffserver联合ffmpeg建立媒体服务器
查看>>
下载稻草人下来刷新+gallery
查看>>