设为首页 收藏本站
查看: 1216|回复: 0

[经验分享] Docker实践(1)—入门

[复制链接]

尚未签到

发表于 2015-4-17 09:38:32 | 显示全部楼层 |阅读模式
tutorial
  centos6.5环境。
  # yum install docker-io -y
  会依赖安装libcgroup,lxc,lxc-libs
  
  启动docker
  # service docker start
  Starting cgconfig service: [确定]
  Starting docker:        [确定]
  
  获取最新的docker image
  # docker pull centos:latest
DSC0000.png
  运行image
  # docker run -i -t centos /bin/bash
  bash-4.2# ls
  bin  dev  etc  home  lib  lib64  lost+found  media  mnt  opt  proc  root  run  sbin  selinux  srv  sys  tmp  usr  var
  bash-4.2# exit
  
  提交更新
  # docker commit -m="add net-tools" -a="dbyin" ad6327a8e166 dbyin/testrep
  15a31c1fd4dd1a514b8d771e456fd9adfe206a70e4a672057363322c8b918a3a
DSC0001.png
  删除镜像
  # docker rmi dbyin/sshd
  Untagged: dbyin/sshd:latest
  Deleted: 3e6ddcc38145770486dbd2fcb5b3a6734fea447ab024c540e83d34acc8113a11
  Deleted: ab8ed0aaabab96eaf1656539bb0f7990f1b114197d39308e93ab1160c222d4ff
  Deleted: 4ffa765d3fafa308edba9de3e59582451d6658e4c50cf9d107bc18bfe415d2e9
  Deleted: 95cc1fd701f6961585196a0b43e06404aa81f4ec65278d2249ad0716a2cf3d87
  Deleted: ae21b4f05d98ea18aff9c4ed33343c933f6f11c8adb5342ab7e1ded6af8c5fd8
  
  主要参考
  [1]https://docs.docker.com/installation/centos/
  [2]Working with Docker Images
  
通过docker部署ssh
  # cat Dockerfile
  FROM centos
  MAINTAINER dbyin
  RUN yum install -y openssh-server
  RUN echo "root:root" | chpasswd
  EXPOSE 22
  CMD ["/usr/sbin/sshd", "-D"]
  
  
  构建镜象
  # docker build --rm -t dbyin/sshd .
  Sending build context to Docker daemon 74.75 kB
  Sending build context to Docker daemon
  Step 0 : FROM centos
  ---> 1a7dc42f78ba
  Step 1 : MAINTAINER dbyin
  ---> Running in f40dd8c16027
  ---> ae21b4f05d98
  Removing intermediate container f40dd8c16027
  Step 2 : RUN yum install -y openssh-server
  ---> Running in a298b82f5fc1
  Loaded plugins: fastestmirror
  Determining fastest mirrors
  * base: mirrors.cug.edu.cn
  * extras: mirrors.cug.edu.cn
  * updates: mirrors.cug.edu.cn
  Resolving Dependencies
  --> Running transaction check
  ---> Package openssh-server.x86_64 0:6.4p1-8.el7 will be installed
  --> Processing Dependency: openssh = 6.4p1-8.el7 for package: openssh-server-6.4p1-8.el7.x86_64
  --> Running transaction check
  ---> Package openssh.x86_64 0:6.4p1-8.el7 will be installed
  --> Finished Dependency Resolution
  
  Dependencies Resolved
  
  ================================================================================
  Package                Arch           Version               Repository    Size
  ================================================================================
  Installing:
  openssh-server         x86_64         6.4p1-8.el7           base         367 k
  Installing for dependencies:
  openssh                x86_64         6.4p1-8.el7           base         341 k
  
  Transaction Summary
  ================================================================================
  Install  1 Package (+1 Dependent package)
  
  Total download size: 708 k
  Installed size: 1.8 M
  Downloading packages:
  warning: /var/cache/yum/x86_64/7/base/packages/openssh-server-6.4p1-8.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY
  Public key for openssh-server-6.4p1-8.el7.x86_64.rpm is not installed
  --------------------------------------------------------------------------------
  Total                                              195 kB/s | 708 kB  00:03   
  Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
  Importing GPG key 0xF4A80EB5:
  Userid     : "CentOS-7 Key (CentOS 7 Official Signing Key) "
  Fingerprint: 6341 ab27 53d7 8a78 a7c2 7bb1 24c6 a8a7 f4a8 0eb5
  Package    : centos-release-7-0.1406.el7.centos.2.3.x86_64 (@CentOS/$releasever)
  From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
  Running transaction check
  Running transaction test
  Transaction test succeeded
  Running transaction
  Installing : openssh-6.4p1-8.el7.x86_64                                   1/2
  Installing : openssh-server-6.4p1-8.el7.x86_64                            2/2
  Verifying  : openssh-server-6.4p1-8.el7.x86_64                            1/2
  Verifying  : openssh-6.4p1-8.el7.x86_64                                   2/2
  
  Installed:
  openssh-server.x86_64 0:6.4p1-8.el7                                          
  
  Dependency Installed:
  openssh.x86_64 0:6.4p1-8.el7                                                
  
  Complete!
  ---> 95cc1fd701f6
  Removing intermediate container a298b82f5fc1
  Step 3 : RUN echo "root:root" | chpasswd
  ---> Running in 0aad665d3d2a
  ---> 4ffa765d3faf
  Removing intermediate container 0aad665d3d2a
  Step 4 : EXPOSE 22
  ---> Running in f3e0c11abc3f
  ---> ab8ed0aaabab
  Removing intermediate container f3e0c11abc3f
  Step 5 : CMD ["/usr/sbin/sshd", "-D"]
  ---> Running in 41d15fb205ff
  ---> 3e6ddcc38145
  Removing intermediate container 41d15fb205ff
  Successfully built 3e6ddcc38145
  
  启动镜像
  # docker run -d -P --name test_sshd dbyin/sshd
  1348cf06d04b6b558e025e78d13b8f61d64e63301de06c8fc1da5c4d18c9b8f8
DSC0002.png
  container的22被映射到host的49153端口。
  
  停止container
  # docker stop test_sshd
  删除container
  # docker rm test_sshd
  
  错误1
  Error: Cannot start container f82d9d3548b4d19cfb4599bb3b27f74b6d605f167456d509df722c749fdf476f: port has already been allocated
  重启docker服务,参见https://github.com/dotcloud/docker/issues/6476
  
  错误2
  # ssh root@172.16.213.129 -p 49153 -v
  OpenSSH_5.3p1, OpenSSL 1.0.1e-fips 11 Feb 2013
  debug1: Reading configuration data /etc/ssh/ssh_config
  debug1: Applying options for *
  debug1: Connecting to 172.16.213.129 [172.16.213.129] port 49153.
  debug1: Connection established.
  debug1: permanently_set_uid: 0/0
  debug1: identity file /root/.ssh/identity type -1
  debug1: identity file /root/.ssh/identity-cert type -1
  debug1: identity file /root/.ssh/id_rsa type -1
  debug1: identity file /root/.ssh/id_rsa-cert type -1
  debug1: identity file /root/.ssh/id_dsa type -1
  debug1: identity file /root/.ssh/id_dsa-cert type -1
  debug1: Remote protocol version 2.0, remote software version OpenSSH_6.4
  debug1: match: OpenSSH_6.4 pat OpenSSH*
  debug1: Enabling compatibility mode for protocol 2.0
  debug1: Local version string SSH-2.0-OpenSSH_5.3
  debug1: SSH2_MSG_KEXINIT sent
  Read from socket failed: Connection reset by peer
  
  增加以下内容重新构建镜像
  RUN ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key
  RUN ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key
  
  然后出现
  。。。
  debug1: Exit status 254
  增加以下内容重新构建镜像,参考这里
  RUN sed -ri 's/UsePAM yes/#UsePAM yes/g' /etc/ssh/sshd_config
  RUN sed -ri 's/#UsePAM no/UsePAM no/g' /etc/ssh/sshd_config
  
  访问
  # ssh root@172.16.213.129 -p 49153
  
  主要参考
  [1]Dockerizing an SSH Daemon Service
  [2]Docker: Using Linux Containers to Support Portable Application Deployment

作者:YY哥
出处:http://www.iyunv.com/hustcat/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-58003-1-1.html 上篇帖子: 如何在Docker中部署DzzOffice 下篇帖子: Docker笔记
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表