docker 安装

2019-6-29 01:06:08

最近想玩玩docker 

遇到报错

PYCURL ERROR 22 - "The requested URL returned error: 404 Not Found"

 

最终结论: 由于是很早之前 基于 centos6的教程  现在yum的源难以匹配到 所以改用Centos7

参考菜鸟教程:http://www.runoob.com/docker/centos-docker-install.html

 

添加组

groupadd docker

useradd docker -g docker

 

判断系统环境

uname -r

Docker 运行在 CentOS 7 上,要求系统为64位、系统内核版本为 3.10 以上。

Docker 运行在 CentOS-6.5 或更高的版本的 CentOS 上,要求系统为64位、系统内核版本为 2.6.32-431 或者更高版本。

 

 

安装

yum -y install docker

 

启动docker后台服务

service docker start

 

测试运行 hello-world

docker run helo-world

没有hello-world 这个映像文件 会自动下载 ,安装部分到这就结束了

 

========================================================

运行容器:

docker run -i -t ubuntu:15.10 /bin/bash

-t:在新容器内指定一个伪终端或终端。

-i:允许你对容器内的标准输入 (STDIN) 进行交互。

-v:表示需要将本地哪个目录挂载到容器中,格式:-v <宿主机目录>:<容器目录>

 

 

查看运行的docker状态

docker ps 

启动容器(后台模式)

docker run -d ubuntu:15.10 /bin/sh -c "while true; do echo hello world; sleep 1; done"

-d:以后台Daemon方式运行,执行成功后会返回一个该容器的ID

 

查看日志

docker logs xxx(xxx代表容器id,也可以用容器名称)

 

关闭容器

docker stop amazing_cori(amazing_cori是容器名称) 或者 ctrl+D 后台继续运行

 

查看已经下载的 images

docker images

 

查看全部命令   docker      (  xxx命令  --help  查看单个命令

 

创建容器 

docker create--name ubuntContainer ubuntu:15.10 /bin/sh -c 'Hello world'

 

杀死容器

docker kill  容器ID或者名称

删除容器

docker rm  容器ID或者名称

docker rm $(docker ps -q- a) //全删,慎用   暂时没试过

 

运行一个web 应用

docker run -d -P training/webapp python app.py

也可以指定 -p 标识来绑定指定端口。-p  docker容器端口:映射端口

-d:让容器在后台运行。

-P:将容器内部使用的网络端口映射到我们使用的主机上。

-name:表示容器名称,用一个有意义的名称命名即可。

 

进入一个容器

1.docker attach 容器ID

2.docker exec -it 容器id   bin/bash  方式进入将不会影响到别的终端

3.在镜像(或容器)中安装SSH Server(不推荐) http://www.oschina.net/translate/why-you-dont-need-to-run-sshd-in-docker?cmp

4.nsenter工具 http://blog.csdn.net/jpzhu16/article/details/51900987

 

获取镜像 docker pull  镜像名称  //从DockerHub获取镜像

查询镜像

docker search  镜像名称 //DockerHub按照镜像名称模拟查询

 

提交镜像

docker commit -m="test update" -a="xumin.liu" 969f xuemin/xuemin-image:v1

 

 

制作镜像

通过Dockerfile构建镜像

 

cat Dockerfile

 

FROM    centos:6.7
MAINTAINER      Fisher "fisher@sudops.com"

RUN     /bin/echo 'root:123456' |chpasswd
RUN     useradd runoob
RUN     /bin/echo 'runoob:123456' |chpasswd
RUN     /bin/echo -e "LANG=\"en_US.UTF-8\"" >/etc/default/local
EXPOSE  22
EXPOSE  80
CMD     /usr/sbin/sshd -D:6.7
MAINTAINER      Fisher "fisher@sudops.com"

RUN     /bin/echo 'root:123456' |chpasswd
RUN     useradd runoob
RUN     /bin/echo 'runoob:123456' |chpasswd
RUN     /bin/echo -e "LANG=\"en_US.UTF-8\"" >/etc/default/local
EXPOSE  22
EXPOSE  80
CMD     /usr/sbin/sshd -D

 

每一个指令都会在镜像上创建一个新的层,每一个指令的前缀都必须是大写的。

第一条FROM,指定使用哪个镜像源

RUN 指令告诉docker 在镜像内执行命令,安装了什么。。。

 

docker build 命令来构建一个镜像

 

 

docker build -t runoob/centos:6.7 .-t runoob/centos:6.7 .

 

-t :指定要创建的目标镜像名

:Dockerfile 文件所在目录,可以指定Dockerfile 的绝对路径

 

 

设置镜像标签

 

我们可以使用 docker tag 命令,为镜像添加一个新的标签。

docker tag 容器id runoob/centos:dev

 

边敲命令变学到这 心里对docker的使用有了个大概的认识,

 

 

现在有一个问题就是,自己做的docker如何保存,放在U盘中,或者放在DockerHub中

可参考:http://blog.csdn.net/opensure/article/details/46490749

今天就到这吧 改天继续2017-12-25 00:18:25

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值