docker的基本操作

docker基本命令

有道云笔记链接

镜像

下载镜像

  1. 命令:
    docker pull [name][:tag] 如:
    $ docker pull ubuntu:18.04

    注意:

    • 如果不加版本号信息,则默认下载最新的镜像信息。并且如果最新镜像有所更新,本地镜像会同步更新。因此这种方式不稳定。
    • 为了防止不同仓库下镜像的name重复,在镜像的name前面会加上仓库地址的前缀。只是默认情况,我们使用docker官方hub服务,地址被省略了。例如从网易蜂巢的镜像源来下载ubuntu:18.04镜像,可以使用如下命令,此时下载的镜像名称为hub.c.163.com/public/ubuntu:18.04:
      $ docker pull hub.c.163.com/public/ubuntu:18.04
  2. 子命令:
    -a : 下载所有版本镜像
    -disable-content-trust:取消镜像内容校验。

  3. 设置镜像代理:
    修改Docker配置文件/etc/default/docker如下:
    DOCKER_OPTS="--registry-mirror=http://aad0405c.m.daocloud.io"

查看镜像信息

image.png

删除镜像

image.png

实现ssh登录docker容器

下载linux镜像

有道云笔记地址

  • 下载ubuntu镜像
docker pull ubuntu:18.04
  • 更新软件源
 apt-get update

如果不是国外服务器,可以设置国内网易软件源

安装和配置ssh服务

  • 安装ssh服务

    直接使用apt命令,从软件源中下载安装软件。

    root@fc1936ea8ceb:/# apt-get install openssh-server
    

    如果需要正常启动SSH服务,则目录/var/run/sshd必须存在。下面手动创建它,并启动SSH服务:

    // 创建目录
    root@fc1936ea8ceb:/# mkdir -p /var/run/
    // 启动服务
    root@fc1936ea8ceb:/# /usr/sbin/sshd -D 
    

    此时查看容器端口,可以看到22号端口已被监听

    root@fc1936ea8ceb:/# netstat -tunlp
    

    如果发现找不到netstat命令,可以安装net 工具:
    apt-get install net-tools

  • 修改ssh配置文件

    • 编辑配置文件:

      root@fc1936ea8ceb:/# vi /etc/ssh/sshd_config
      
      1. 修改SSH服务的安全登录配置,取消pam登录限制:
        在文件中添加 UsePAM no
      2. 允许root登录,在文件添加 PermitRootLogin yes
    • 添加公钥(公钥登录需要,口令登录不用)

      1. 在主机生成公钥:
        一般为本地主机用户目录下的.ssh/id_rsa.pub文件,可由ssh-keygen-t rsa命令生成。若使用xshell登录,在xshell上也可以生成公钥。
      2. 将公钥注册到服务器:
        root用户目录下创建.ssh目录,并复制需要登录的公钥信息到authorized_keys文件中:
      root@fc1936ea8ceb:/# mkdir root/.ssh
      root@fc1936ea8ceb:/# vi /root/.ssh/authorized_keys
      

      创建自动启动SSH服务的可执行文件run.sh:
      root@fc1936ea8ceb:/# vi /run.sh
      内容如下:

      #!/bin/bash
      /usr/sbin/sshd -D
      

      添加可执行权限:

      root@fc1936ea8ceb:/# chmod +x run.sh
      
    • 退出容器
      exit

保存容器为新的镜像

// fc1 为容器名
$ docker commit fc1 sshd:ubuntu

将容器端口绑定到主机

  • 创建并启动容器。将容器的22端口,绑定到主机的10022端口。 docker run -p 10022:22 -d new-image /root/.ssh/run.sh

    image.png

  • 查看容器状态
    可以看到容器端口已经和主机的端口绑定成功。

    image.png

使用xshell登录

  • 口令登录
    如下图,使用口令登录,输入用户名和密码即可登录成功。

    image.png

    image.png

  • 公钥登录

    1. 使用xshell生成公钥,并将公钥信息添加到/root/.ssh/authorized_keys文件中

    2. 设置authorized_keys权限

      $ chmod 600 authorized_keys

    3. 设置.ssh目录权限

      $ chmod 700 -R .ssh

你可能感兴趣的:(docker的基本操作)