docker学习

记录docker的学习
第一步,首先修改一个文件,不然你什么都下不了,只对国内服务器,国外服务器可以无视这个。以后买服务器一定要习国外的啊。

 vim  /etc/docker/daemon.json

添加以下内容(网址是腾迅云的内网dns)

{
    "registry-mirrors": [
        "https://mirror.ccs.tencentyun.com"
    ],
    "insecure-registries": []
}

现在就可以用docker了。
查看所有镜像
一、基本命令

docker images

下载镜像到本地

docker pull 镜像名[:版本]

删除镜像

docker rmi 镜像名[:版本]

运行一个容器(启动私有docker仓库服务)

 docker run -d -p5000:5000 --restart=always --name registry -v /data/registry:/var/lib/registry registry:2

运行一个叫registry容器启动一个registry:2镜像,把宿主机的5000端口映射到容器中的5000端口,映射宿主机目录/data/registry到容器中的/var/lib/registry目录
我们就有一个自己的仓库了
上 传镜像到自己的仓库中

docker pull localhost:5000/镜像名【:版本号】

关闭容器

docker stop 容器名

开启容器

docker start 容器名

重启容器

docker restart 容器名

暂停,开启

docker pause 容器名
docker unpaues 容器名

连接到容器上,看看目录啥的bash可以换为命令直接执行

 docker exec -it 容器名 bash
 exit//退出

把容器的文件复制到宿主机中

docker cp 容器名:容器文件所在文件夹 宿主机文件名
docker cp server:/usr/share/nginx/html/index.html index.html

把宿主机的文件放到容器中

docker cp 宿主机文件名  容器名:容器目录
docker cp index.html server:usr/share/nginx/html/

删除容器

docker rm -f registry
docker rm -f `docker ps -a -q`//删除所有docker容器

把 镜像导出成tar包

docker save nginx>nginx.tar
docker rmi nginx
//导入
docker load <nginx.tar

把容器转为镜像可以存波你的数据

docker commit -m 'zcj first dokcerImages' -a 'zcj' webserver1(容器名) nginx-zcj(生成后的镜像名)

容器名可以换在镜像id,生成的镜像名可以不写,不写就没名字喽

我们还可以使用别的操作系统来运行我们的容器
首先运行一个操作系统容器(下载相应的操作系统镜像,run这个镜像就可以运行一个操作统容器啦),再这个操作系统容器上进行再运行容器。

docker run -t -i ubuntu:15.10 /bin/bash
运行境像产生容器然后执行shell命令给我一个bash shell

运行容器时时执行多条命令

docker run -it myimage sh -c 'service mysql start && python test.py'

二、Dockerfile

FROM alpine:latest
MAINTAINER zcj
CMD echo 'hello docker'

有了Dockfile(dockerfile每一行就相当于一个镜像,多行就相当于镜像分层的概念,当然是要在docker build之后),dockfile有很多命令,学习之后可以用这个做一个自己的镜像之后我们就可以使用和装逼了,

docker build -t hello_world .

好了一个由dockerfile创建的hello_world镜像就己经生成了,有两种方法可以生成镜像一种是直接把容器直接打包成镜像,还有一种就是使用dockerfile来安装,第一种相比dockerfile的体积来说就是相当于一个2kb,一个200m。
不知道两者有什么区别请看这个
https://segmentfault.com/q/1010000008236066
我的理解就是第一种是己经生成好了的镜像,你直接拿来用就行了,
但是传输啥的相比第二种来说就凉了。
第二种呢,用dockerfile呢,这就牛逼了啊,用一些特殊的语法,来描述境像。
总结:Dockerfile不是镜像,是构建镜像的指令和配置。
三、多容器app
安装docker-compose

curl -L https://github.com/docker/compose/releases/download/1.17.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

给个执行权限

chomd 777 /usr/local/bin/docker-compose
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值