Docker基础入门实践
2016-02-22 16:43
302 查看
基本概念
Docker三个基本概念
镜像(Image)容器(Container)
仓库(Repository)
镜像
镜像可以理解为只读模板,如包含一个centos操作系统环境容器
Docker利用容器来隔离和运行应用,容器是从镜像创建的运行实例注:镜像是只读的,容器在启动时创建一层可写层做为最上层
仓库
集中存放镜像文件的地方Docker安装
CentOS安装Docker
CentOS6$ yum install epel-release $ yum -y remove docker $ yum install docker-io
CentOS7
$ yum install docker
启动
$ service docker start
随系统自启动
$ chkconfig docker on
帮助
输入
$ docker会列表相关命令和介绍如何查看帮助
镜像
获取镜像$ docker pull registry.aliyuncs.com/acs-sample/centos
镜像地址格式为[REGISTRYHOST/][USERNAME/]NAME[:TAG]
注册服务器:registry.aliyuncs.com
仓库:acs-sample/centos
标记:lastest
查看镜像
$ docker images
出现如下信息
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE registry.aliyuncs.com/acs-sample/centos latest bf8055dc372f 6 weeks ago 196.6 MB
仓库:来自哪个仓库
标记:通过tag来区分版本,如centos6、centos7
唯一ID
创建时间
大小
创建镜像
可以从DockHub获取已有镜像或通过dockerfile来创建
修改镜像
通过
docker commit来实现
步骤:
1.启动容器
$ docker run -it --name test registry.aliyuncs.com/xqh/centos6 /bin/bash [root@1ca39db81ee1 /]#
2.安装wget,成功exit退出
$ yum install wget
3.提交更改,如果不指定tag会覆盖原有镜像
$ docker commit -m 'add wget' -a 'by xqh' 1ca39db81ee1 registry.aliyuncs.com/acs-sample/centos:2``` 4.查看镜像,tag=2的包含wget的镜像已经生成 REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE registry.aliyuncs.com/acs-sample/centos 2 1ca39db81ee1 57 seconds ago 255.7 MB **修改Tag**
$ docker tag registry.aliyuncs.com/acs-sample/centos:2 test```
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE registry.aliyuncs.com/acs-sample/centos 2 1ca39db81ee1 16 minutes ago 255.7 MB test latest 1ca39db81ee1 16 minutes ago 255.7 MB
上传镜像
把自己的镜像通过
docker push上传到仓库
导出和导入
$ docker save -o centos-test.tar registry.aliyuncs.com/acs-sample/centos:2 $ docker load -i centos-test.tar
删除镜像
用
docker rm来移除本地镜像,移除镜像前要先移除依赖这个镜像的容器
容器
新建并启动新建并启动
docker run,如
$ docker run -it --name test registry.aliyuncs.com/xqh/centos6 /bin/bash
其中
-t选项让docker分配一个伪终端,
-i让容器的标准输入保持打开
启动已终止容器
用
docker start来启动一个已经停止的容器
后台运行容器
用
docker run -d来实现,如
$ docker run -d --name test registry.aliyuncs.com/acs-sample/centos /bin/sh -c "while true; do echo hello world; sleep 1; done"
用
docker ps来查看启动容器信息
[root@iZ23g3sxtunZ ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES f23f49f7269c registry.aliyuncs.com/acs-sample/centos "/bin/sh -c 'while t 3 seconds ago Up 2 seconds test
用
docker logs来查看容器输出信息
[root@iZ23g3sxtunZ ~]# docker logs test hello world hello world hello world
终止容器
通过
docker stop来终止容器,如
$ docker stop test
用
docker ps -a可以查看终止状态的容器
[root@iZ23g3sxtunZ ~]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES f23f49f7269c registry.aliyuncs.com/acs-sample/centos "/bin/sh -c 'while t 4 minutes ago Exited (137) 4 seconds ago test
进入容器
用
docker attach进入容器当中
导入和导出
用
docker export和
docker import导出和导入容器
删除容器
用
docker rm来删除一个终止状态的容器
仓库
登录登录官方仓库不需要指定地址
$ docker login $ docker login --username=xxx@aliyun.com registry.aliyuncs.com
搜索镜像
用
docker search命令查看仓库中的镜像,如查询被收藏10次以上的centos镜像
[root@iZ23g3sxtunZ ~]# docker search -s 10 centos NAME DESCRIPTION STARS OFFICIAL AUTOMATED centos The official build of CentOS. 1947 [OK] jdeathe/centos-ssh CentOS-6 6.7 x86_64 / SCL/EPEL/IUS Repos /... 15 [OK] jdeathe/centos-ssh-apache-php CentOS-6 6.7 x86_64 / Apache / PHP / PHP M... 13 [OK]
下载和上传镜像
用
docker pull和
docker push命令来下载和推送镜像,如
$ docker pull registry.aliyuncs.com/xqh/centos6-sshd $ docker push registry.aliyuncs.com/xqh/centos6-sshd
私有仓库
指用户搭建一个本地仓库供私人使用
相关文章推荐
- dcoker镜像加速器使用
- virtualBox中ubuntu安装docker
- Docker容器开机自动启动(在宿主机重启后或者Docker服务重启后)
- 运行第一个 docker image 并在浏览器中查看
- Windows 系统安装Docker Compose 步骤
- Windows系统上3种连接Docker虚拟机的方法
- Docker问题集
- 深入kubernetes之Pod——一pod多容器
- [Docker]初次接触
- Docker下使用daocloud镜像加速(基于Centos6)
- docker容器端口IP规划及端口动态扩容
- Docker为什么刚运行就退出了?
- ubuntu中docker守护进程无法启动
- Docker pull 出现的 Server error: Status 0 while fetching image layer
- Ubuntu14.04(32位)下安装使用docker
- 使用docker容器时遇到的2个问题
- Docker Java+Tomcat 环境搭建
- Docker Java+Tomcat 环境搭建
- Docker Java+Tomcat 环境搭建
- 解决近期Mac无法安装docker-compose的问题(docker compose installation for OS X EI Capitan)