资讯专栏INFORMATION COLUMN

docker 学习笔记

CarterLi / 1494人阅读

摘要:持久的标准输入是交互式的半边天,标志则是另外半边天,它告诉为要创建的容器分配一个伪终端。而且一旦删除容器,镜像也会被删除。显示最后个容器,不论这些容器正在运行还是已经停止。

命令行下创建一个我们能与之进行交互的容器,而不是一个运行后台服务的容器。
docker run -i -t ubuntu /bin/bash
-i标志保证容器STDIN是开启的,尽管我们并没有附着到容器中。持久的标准输入是交互式shell的“半边天”,-t标志则是另外“半边天”,它告诉Docker为要创建的容器分配一个伪tty终端。
--restart=always|on-failure[:5], Docker会检查容器退出代码,并据些来决定是否要重启容器。

以daemon模式运行docker容器,--name参数可以运行容器的名字
docker run [--name reg] -d -p 5000:5000 registry
Docker 新版需要 SSL Auth, 解决就是两种方法,一种就是在private registry 上使用SSL, 需要安装签发证书,可以参考nginx 的方法(https://github.com/lightning-li/docker-nginx-auth-registry/blob/master/README.md),另一种就是强制使用普通方式(在宿主机上),例如下面的步骤:
service docker stop
修改 /etc/defaut/docker 文件,增加这个参数: DOCKER_OPTS="--insecure-registry 192.168.88.212:5000"
在重启服务: service docker restart

从私服上搜索存在哪些可用镜像
curl -X GET http://IP:5000/v1/search
curl -X GET http://IP:5000/v1/search?q=centos6

官方文档中直接运行sudo docker run -p 5000:5000 registry命令。这样确实能启动一个registry服务器,但是所有上传的镜像其实都是由docker容器管理,放在了/var/lib/docker/....某个目录下。而且一旦删除容器,镜像也会被删除。因此,我们需要想办法告诉docker容器镜像应该存放在哪里。registry镜像中启动后镜像默认位置是/tmp/registry,因此直接映射这个位置即可,比如到本机的/opt/data/registry目录下。
docker run -d -e SETTINGS_FLAVOR=dev -e STORAGE_PATH=/tmp/registry -v /opt/data/registry:/tmp/registry -p 5000:5000 registry

docker logs [-f] reg //获取容器的日志,不加参数输出最后几条日志并返回,加参数相当于tail -f
docker top reg //查看容器内的进程
docker stop|start|restart //停止、开始、重启容器运行
docker inspect //获取容器详细信息
docker ps [-a] //显示运行中(所有)的容器。
docker ps -n x //显示最后x个容器,不论这些容器正在运行还是已经停止。
docker rm //删除容器(containers)
docker rm docker ps -a -q //一次删除所有容器
docker rmi //删除映像(images)

在运行的docker容器内部运行进程(docker 1.3引入)
docker exec -it reg /bin/bash ($ docker exec ubuntu_bash -it bash)
这样就可以在容器中运行bash shell了!
第二种方式:在容器中安装并运行openssh-server,用ssh来进行管理,我喜欢直接的方式,第二种方式就不过多记录了。
第三种方式:用ssl image
直接运行 docker run -p 22:22 tutum/ubuntu 即可
参看: https://github.com/tutumcloud/tutum-ubuntu

http://www.lsproc.com/#toc_17
http://wiselyman.iteye.com/blog/2166669

卸载旧版docker
sudo docker -v  
sudo apt-get remove docker                  //这一句和下一句,在1.6以后不需要
sudo apt-get remove --auto-remove docker    //这一句和上一句,在1.6以后不需要
sudo apt-get remove --purge lxc-docker  
sudo apt-get autoremove --purge  
最新版docker安装

curl -s https://get.docker.com | sudo sh

经常用的命令
docker run -d -e SETTINGS_FLAVOR=dev -e STORAGE_PATH=/tmp/registry -v /opt/data/registry:/tmp/registry -p 5000:5000 registry

sudo docker run --name=mysql -d -e "MYSQL_ROOT_PASSWORD=111" -e "DB_REMOTE_ROOT_NAME=root" -e "DB_REMOTE_ROOT_PASS=111" -p 3306:3306 -v /opt/mysql/default:/var/lib/mysql mysql

sudo docker run --name redis -d -p 6379:6379 -v /opt/redis/default:/var/lib/redis redis

docker run -d --name Node -v "$PWD":/usr/src/myapp -w /usr/src/myapp -p 80:80 node node index.js
直接分享镜像的方法

假设你有一个image叫做ubuntu,那么你可以使用save和load命令来转移image:
在本机执行
sudo docker save -o ubuntu.tar ubuntu
由此得到了 ubuntu.tar 文件,将其拷贝到远程机器,执行
sudo docker load < ubuntu.tar

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/26363.html

相关文章

  • Linux 学习笔记(四):Docker

    摘要:系统有两个程序服务端和客户端。其中服务端是一个服务进程,管理着所有的容器。客户端则扮演着服务端的远程控制器,可以用来控制的服务端进程。守护进程会处理复杂繁重的任务,例如建立运行发布你的容器。客户端和守护进程之间通过或者进行通信。 预期学习目标 Docker基本概念 配置本地Docker环境 容器的生命周期与配置 端口映射和容器链接 利用volume保存持久化容器数据 检查容器日志 监...

    ssshooter 评论0 收藏0
  • 慕课网_《Docker入门》学习总结

    摘要:时间年月日星期六说明本文部分内容均来自慕课网。必填用于执行命令,当执行完毕后,将产生一个新的文件层。可选指定此镜像启动时默认执行命令。可选用于指定需要暴露的网络端口号。可选向镜像中挂载一个卷组。 时间:2017年09月16日星期六说明:本文部分内容均来自慕课网。@慕课网:http://www.imooc.com 教学源码:无 学习源码:无 第一章:课程简介 1-1 课程介绍 Docke...

    CoorChice 评论0 收藏0
  • Docker 学习笔记

    摘要:学习笔记安装用的所以直接然后执行用于启动否则会出错后面的步骤执行不了安装官方包表示同步的表示同步的输出表示表示执行后删除表示的名称将目录挂载到防止没有权限访问挂载的目录指定端口映射与其他链接去除之间不互通 Docker 学习笔记. docker 安装 用的 centos7 所以直接 yum install docker 然后执行 systemctl start docker.se...

    itvincent 评论0 收藏0
  • docker 学习笔记

    摘要:下的使用笔记安装确认是否安装成功搜索镜像获取镜像查看本地所有镜像运行镜像,运行起来的镜像就叫做容器了,仔细看,你会发现终端交互的用户名变掉了,说明我们进入到了容器的内部。个人理解是因为产生数据需要映射。创建成功后会返回这个镜像的信息。 ubuntu 14.10下docker的使用笔记1 docker 安装 curl -sSL https://get.docker.com/ | sh ...

    jk_v1 评论0 收藏0
  • docker 学习笔记

    摘要:下的使用笔记安装确认是否安装成功搜索镜像获取镜像查看本地所有镜像运行镜像,运行起来的镜像就叫做容器了,仔细看,你会发现终端交互的用户名变掉了,说明我们进入到了容器的内部。个人理解是因为产生数据需要映射。创建成功后会返回这个镜像的信息。 ubuntu 14.10下docker的使用笔记1 docker 安装 curl -sSL https://get.docker.com/ | sh ...

    paulquei 评论0 收藏0
  • Docker学习笔记

    摘要:学习过程中主要参考的从入门到实践,以及因为是第一次写技术笔记会模仿另一位网友的从零开始学习的写法。 showImg(https://segmentfault.com/img/bVbokYX); 本文是我学习Docker的笔记,因为最近工作的原因,要用到docker工具,一开始抱着有需要什么就用什么的心态使用docker,但因为项目是强依赖docker,越来越多的问题因为docker成为...

    baukh789 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<