不死孤狼
IT 从来都是一个有新技术驱动的行业

1. 搜索镜像:docker search centos  # 搜索名称为centos的镜像

[root@dock_serv ~]# docker search centos
INDEX NAME DESCRIPTION STARS OFFICIAL AUTOMATED
docker.io docker.io/centos The official build of CentOS. 4188 [OK]
docker.io docker.io/ansible/centos7-ansible Ansible on Centos7 108 [OK]
docker.io docker.io/jdeathe/centos-ssh CentOS-6 6.9 x86_64 / CentOS-7 7.4.1708 x8... 94 [OK]
。。。

2. 下载镜像 :docker pull docker.io/centos  # 将镜像从docker Hub拉取下来

[root@dock_serv ~]# docker pull docker.io/centos
Using default tag: latest
Trying to pull repository docker.io/library/centos ...
latest: Pulling from docker.io/library/centos

 

3. 查看镜像:

[root@dock_serv ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
myimages/centos7 v2 6a2d5b344659 2 days ago 369 MB
docker.io/nginx latest b175e7467d66 4 days ago 109 MB
docker.io/centos latest e934aafc2206 8 days ago 199 MB
docker.io/portainer/portainer latest f6dd93561a5f 13 days ago 35 MB

4. 启动容器: docker run -it docker.io/centos /bin/bash

[root@dock_serv ~]# docker run -it docker.io/centos /bin/bash
[root@191dbe9440ad /]#

5. 修改容器:

[root@191dbe9440ad /]# yum -y install sshd vim   # 给容器安装sshd 和vim软件

[root@191dbe9440ad /]# exit
exit                     #安装完成后退出

6. 保存修改的容器: 

[root@dock_serv ~]# docker commit -m'add vim sshd' -a='myname' 9eba850d5aa7 myname/centos7:v3
sha256:8e4b8a597209477bd9295ac3fe3036917b724d000236198acc749670f667c77b

各个参数说明:

  • -m:提交的描述信息

  • -a:指定镜像作者

  • 9eba850d5aa7 1:容器ID

  • myname/centos7:v3:指定要创建的目标镜像名

我们可以使用 docker images 命令来查看我们的新镜像

[root@dock_serv ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
myname/centos7 v3 8e4b8a597209 About a minute ago 395 MB
myimages/centos7 v2 6a2d5b344659 3 days ago 369 MB
docker.io/nginx latest b175e7467d66 4 days ago 109 MB
docker.io/centos latest e934aafc2206 8 days ago 199 MB
docker.io/portainer/portainer latest f6dd93561a5f 13 days ago 35 MB

 

7. 通过docker file 创建容器:

 

 

8.ssh登陆容器

1、启动一个docker容器
# docker run -t -i ubuntu/ruby:v1 /bin/bash
2、然后在容器里,安装openssh-server openssh-client
# apt-get install openssh-server openssh-client
3、完成之后,修改root密码
# passwd
4、退出容器,并保存以上修改
# docker commit 3ea7a99a0025 ubuntu/ruby:v2
5、停止,并删除刚才的容器
# docker stop [container-id]  
# docker rm [container-id]
查看容器id
# docker ps -a
查看镜像列表
# docker images
6、用刚保存的镜像,后台启动一个新的容器
 docker run --name [image-name] -i -t -p 50001:22 [image-id]
例: # docker run -d -p 50001:22 ubuntu/ruby:v2 /usr/sbin/sshd -D
7、ssh远程登录该容器
# ssh root@localhost -p 50001

如果想要通过ssh密钥登录,则在第2步,修改 /etc/ssh/sshd_config 文件,将RSAAuthentication 和 PubkeyAuthentication 后面的值都改成yes ,保存。
将本地.ssh下的id_rsa.pub上传到容器中的 id_rsa.pub,并 # mv /root/.ssh/id_rsa.pub/root/.ssh/authorized_keys,然后 # chmod 600 /root/.ssh/authorized_keys 即可.

  

posted on 2018-04-15 13:21  不死孤狼  阅读(127)  评论(0)    收藏  举报