实验环境: centos7
[root@docker1 ~]# uname -r 3.10.0-693.el7.x86_64
docker 版本
[root@docker1 ~]# docker version Client: Version: 17.12.0-ce API version: 1.35 Go version: go1.9.2 Git commit: c97c6d6 Built: Wed Dec 27 20:10:14 2017 OS/Arch: linux/amd64 Server: Engine: Version: 17.12.0-ce API version: 1.35 (minimum version 1.12) Go version: go1.9.2 Git commit: c97c6d6 Built: Wed Dec 27 20:12:46 2017 OS/Arch: linux/amd64 Experimental: false [root@docker1 ~]#
已经下载的镜像
centos (命令: docker pull centos)
为确保容器通信需要开启转发:
vim /usr/lib/sysctl.d/00-system.con 添加: net.ipv4.ip_forward=1 重启网络 systemctl restart network
另外docker已经安装并且启动
以上是实验环境,接下来按照如下步骤来做实验
实验思路:
- 新建一个容器test01并登陆
- 安装openssh-server服务并启动,并设置root密码
- 使用commit将容器test01 提交到镜像centos_ssh
- 利用centos_ssh 创建test02 ,映射本地端口
- 本机登陆测试
接下来是详细步骤:
1. 新建一个容器test01 并登陆
docker run -ti --name test01 centos /bin/bash
2.安装openssh-server服务并启动,并设置root密码
1) 安装openssh-server
2)启动ssh 必须在/var/run目录下有sshd目录,所以这里没有的话需要建立,然后启动ssh
注意: 此处启动很容易报错,最常见的报错信息如下:
解决方案:下面的命令每个执行一次
解决完后,重新启动就可以了: /usr/sbin/sshd -D &
3) 创建登陆用的root密码,当然你也可以创建普通用户
3. 退出并创建镜像centos_ssh
4. 使用centos_ssh镜像创建一个容器并测试
1)创建容器
2) 测试
可以看到已经可以连接到容器里了
注意:此文章只是测试,目的在于让你熟悉常用的docker 命令。
另外如果在学习中遇到任何问题,可以跟我互动交流哦。