docker像虚拟机vps一样安装玩转系统。
1、安装ubuntu系统
在docker的hub仓库中,有专门的ubuntu系统。我们直接用使用就可以了。
docker search ubuntu
2、选择要拉下了的镜像
docker pull ubuntu
这里可以很很慢,因为镜像是在国外。使用镜像加速就可以了。
在/etc/docker/daemon.json 文件并添加上 registry-mirrors 键值。如果没有文件,则新建一个。键值如下:
{ "registry-mirrors": ["https://registry.docker-cn.com"] }
重启服务: service docker restart 。
3、下载完毕后,查看镜像:
docker images
4、运行容器
docker run --name iubuntu -t -i -d -p 3316:22 ubuntu
参数: –name 指定生成的容器的名称
-i: 以交互模式运行容器,保证容器中STDIN是开启的。通常与 -t 同时使用;
-t: 为容器重新分配一个伪tty终端,通常与 -i 同时使用;
-d: 后台运行容器,并返回容器ID;
-p:可以指定要映射的IP和端口,但是在一个指定端口上只可以绑定一个容器。支持的格式有 hostPort:containerPort、ip:hostPort:containerPort、 ip::containerPort。
ubuntu 则是镜像名称,镜像ID也可以的。
5、进入容器终端安装ssh服务
docker exec -t -i [容器名orID] /bin/bash
- 1
安装ssh服务(默认为root权限用户):
- 先执行更新
apt-get update
- 安装ssh-client命令
apt-get install openssh-client
- 安装ssh-server命令
apt-get install openssh-server
- 安装完成以后,先启动服务
/etc/init.d/ssh start
启动后,可以通过“ps -e|grep ssh”查看是否正确启动。
- 最后编辑sshd_config文件
vim /etc/ssh/sshd_config
将PermitRootLogin xxxx-password 改为 PermitRootLogin yes。
如果没有vim,先apt-get install vim。 - 重启ssh服务
service ssh restart
- 设置ssh密码
passwd root
- 查看容器ip:
apt-get install net-tools
然后输入ifconfig,查看容器ip。
6、ssh链接容器中的系统
退出容器终端exit。
在宿主机中,docker ps -a 命令中可以查看到容器的端口。在宿主机中,可以使用localhost进行登录,也可以使用刚才ifconfig查看的ip进行登录。ssh root@localhost -p 3316
如果要从外部进行登录,就要使用宿主机的ip,端口不变。这样我们的任务就完成了。接下来,就可以自由玩耍服务器了。
ssh root@x.x.x.x -p 3316
x.x.x.x就是宿主机的ip地址。
7、提交更改的镜像
刚刚我们对容器进行了安装,可以如果删掉话。每次都要重新执行上面的操作,所以可以对镜像进行提交保存。
docker commit [改变了的容器的ID] [REPOSITORY:TAG]