从零docker-设置容器开机启动

在Ubuntu19.10上安装开机启动的ssh容器Ubuntu18.04

Posted by Jerry Chen on January 2, 2020

启动ubuntu:18.04容器

1
sudo docker run -it --name first ubuntu:18.04 /bin/bash

容器里的操作

更新源

首先将原文件重命名为备份:

1
mv /etc/apt/sources.list /etc/apt/sources.list.bak

接着加入阿里源,并更新:

1
2
3
4
5
6
7
8
9
10
11
12
echo "deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse" >> /etc/apt/sources.list;
echo "deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse" >> /etc/apt/sources.list;
echo "deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse" >> /etc/apt/sources.list;
echo "deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse" >> /etc/apt/sources.list;
echo "deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse" >> /etc/apt/sources.list;
echo "deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse" >> /etc/apt/sources.list;
echo "deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse" >> /etc/apt/sources.list;
echo "deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse" >> /etc/apt/sources.list;
echo "deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse" >> /etc/apt/sources.list;
echo "deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse" >> /etc/apt/sources.list;

apt update
安装vim和sshd
1
2
apt install vim -y
apt-get install openssh-server -y
修改root密码
1
passwd root
启动sshd
  1. 首先修改sshd配置:

    1
    
     vim /etc/ssh/sshd_config
    

    改成下面两项

    1
    2
    
     PermitRootLogin yes
     UsePAM no
    
  2. 启动sshd服务

    1
    
     service ssh start
    

Run容器中的sshd服务

  1. 退出容器后,提交容器为新的镜像

    1
    
    sudo docker commit first ubuntu18.04:ssh
    
  2. 用新镜像启动sshd

    后台运行sshd,且把主机1022端口映射到容器的22端口。

    1
    
    sudo docker run --name u18_04 -d -p 1022:22 ubuntu18.04:ssh /usr/sbin/sshd -D
    

这样可以通过1022端口登录(root)到容器。

设置开机启动

设置docker开机启动

1
systemctl enable docker

设置容器自启动

依赖于docker已经启动。

1
docker update --restart=always u18_04