vscode 远程连接服务器docker容器的设置方法

作者:圣颖君 时间:2021-05-03 03:09:11 

目录
  • 拉取镜像

  • 运行镜像(产生一个容器)

  • 启动容器

  • 进入容器

  • 查看所有镜像

  • 退出容器

  • 重启容器

  • 查看所有容器

  • 删除容器

    • 批量删除docker中已经停止的容器

  • vscode通过ssh远程连接服务器中的容器

    拉取镜像


    docker pull [options] name [:tag] 表示从仓库拉取镜像 options是参数 tag是版本

    运行镜像(产生一个容器)


    docker run [options] image [:tag] [command] [arg…]

    运行一个容器 以镜像为模版创建容器 options 操作 tag版本 command 运行时候执行的命令 arg 参数

    选项              选项简写          说明
    –detach                 -d       在后台运行容器,并且打印容器id。
    –interactive         -i       即使没有连接,也要保持标准输入保持打开状态,一般与 -t 连用。
    –tty                 -t       分配一个伪tty,一般与 -i 连用。

    docker容器执行任务完成后就会处于exited状态,如果想让容器处于up状态,可以使用下列命令,如:
    使用镜像nginx:latest以交互模式后台启动一个容器,在容器内执行/bin/bash命令。


    docker run -dit nginx:latest /bin/bash

    启动容器


    docker start 容器ID

    进入容器


    docker attach 容器ID
    docker exec -it 容器ID /bin/bash
    docker exec -it 容器的name bash

    查看所有镜像

    列出镜像列表:docker images [OPTIONS] [REPOSITORY[:TAG]]

    退出容器

    如果要正常退出不关闭容器,请按(Ctrl+P+Q)进行退出容器
    如果使用exit退出,那么在退出之后会关闭容器

    重启容器

    使用(docker restart 容器id)命令重启容器

    查看所有容器


    docker container ls
    docker ps (查看正在运行的容器)
    docker ps -a (查看所有容器)

    删除容器

    我们也可以使用docker container rm命令删除一个指定的容器,或简洁的写法docker rm命令来删除容器,不过不允许删除正在运行的容器,因此如果要删除的话,就必须先停止容器。


    docker rm container_id

    当我们需要批量删除所有容器,可以用下面的命令:


    docker rm $(docker ps -q)

    批量删除docker中已经停止的容器

    方法一:


    #显示所有的容器,过滤出Exited状态的容器,取出这些容器的ID,

    sudo docker ps -a|grep Exited|awk '{print $1}'

    #查询所有的容器,过滤出Exited状态的容器,列出容器ID,删除这些容器

    sudo docker rm `docker ps -a|grep Exited|awk '{print $1}'`

    方法二:


    #删除所有未运行的容器(已经运行的删除不了,未运行的就一起被删除了)

    sudo docker rm $(sudo docker ps -a -q)

    方法三:


    #根据容器的状态,删除Exited状态的容器

    sudo docker rm $(sudo docker ps -qf status=exited)

    方法四:


    #Docker 1.13版本以后,可以使用 docker containers prune 命令,删除孤立的容器。

    vscode通过ssh远程连接服务器中的容器

    1.运行ubuntu镜像来创建容器:


    docker run -it ubuntu

    2.进入容器,设置容器root密码

    修改容器的root密码:passwd
    密码设置为:123456

    3.安装ssh服务


    apt-get update
    apt-get install openssh-server

    4.修改ssh配置,允许root登录,一般进入容器时使用的都是 root 账号,但是 ssh 默认是禁止 root 账号使用密码远程登录的,所以需要修改 ssh 配置文件使其允许:


    vim  /etc/ssh/sshd_config
    将PermitRootLogin的值从withoutPassword改为yes(去掉前面的#号)
    如果没有vim可以安装个:
    apt-get install vim

    5.保存容器修改并生成新的镜像


    docker commit  <container_id>  <new_image_name>
    如 docker commit  <container_id> ubuntu-ssh

    6.退出当前容器,并运行刚刚保存的新镜像(这次运行要端口映射并在后台运行)


    exit(exit退出后会关闭容器)
    docker run -dit  -p 8008:22 ubuntu-ssh (8008时端口号,ssh连接时要使用)

    7.通过exec命令进入在后台运行的容器


    docker exec -it  容器_id  /bin/bash
    #exec是进入已经存在的容器,run是创建新容器

    8.启动ssh服务


    sudo service ssh start

    另外(stop restart分别为关闭和重启)

    9.判断启动是否成功

    在终端中输入:ps -e|grep ssh,可以查看是否启动成功,如果有sshd,就说明启动成功。

    输出如下:


    $ sudo ps -e | grep ssh

    4031 ?        00:00:00 sshd------对应服务器端

    sshd表示ssh-server启动了

    10退出容器但不要关闭

    exit(因为我们是通过exec指令进入容器的,所以exit时并不会退出容器,容器会在后台运行)

    11远程连接


    ssh root@host_id -p 8008

    来源:https://blog.csdn.net/weixin_45252450/article/details/107091978

    标签:vscode,远程连接,docker
    0
    投稿

    猜你喜欢

  • Google AdSense优化之独孤九式

    2007-08-15 16:01:00
  • AT&T称谷歌试图忽悠FCC 建议修改网络中立原则

    2009-10-16 09:07:00
  • SEO入手统筹优化步骤

    2009-08-23 09:55:00
  • 从零开始配置服务器

    2010-08-26 18:31:00
  • eWeek称:微软有望主导网络世界的10大理由

    2009-11-13 16:23:00
  • 用户的需求分析:网站以人为本

    2008-01-18 21:07:00
  • 一个站长与电脑相处的十三年

    2007-09-18 12:59:00
  • 10种图片防盗链的方法(多图)

    2009-02-08 18:05:00
  • 博客文章间互相链接的考虑

    2007-11-22 21:27:00
  • 从WAP到WWW我的路还有多远

    2008-06-16 13:03:00
  • SEO培训:获取外部链接的几种不健康手段

    2007-08-05 13:20:00
  • 网易邮箱收不到GoDaddy系统发来的邮件

    2010-04-08 12:40:00
  • DEDE自动更新首页html插件

    2009-02-20 16:17:00
  • centos7.2搭建nginx的web服务器部署uniapp项目

    2023-10-14 01:15:07
  • 检测3782个病毒 26款杀毒软件查毒能力PK

    2009-10-13 11:16:00
  • Linux VPS安全设置之三:使用DDOS deflate抵御少量DDOS攻击

    2023-07-19 01:55:33
  • Apache、Nginx 服务配置服务器端包含(SSI)

    2021-02-23 04:44:49
  • linux 上在指定时间段内每隔多少分钟自动执行任务计划crontab

    2023-10-09 23:17:44
  • 网站运营革命之网站运营现状

    2007-12-29 12:36:00
  • CentOS 7中Nginx日志定时拆分实现过程详解

    2023-11-04 07:46:23
  • asp之家 网站运营 m.aspxhome.com