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

目录
  • 拉取镜像
  • 运行镜像(产生一个容器)
  • 启动容器
  • 进入容器
  • 查看所有镜像
  • 退出容器
  • 重启容器
  • 查看所有容器
  • 删除容器
    • 批量删除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

到此这篇关于vscode 远程连接服务器docker容器的设置方法的文章就介绍到这了,更多相关vscode 远程连接docker内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 使用Vscode结合docker进行开发的详细过程

    前言 使用 Docker 与 VS Code 可以优化整个本地开发环境,加速项目进度过程.在所有环境中使用相同的基础映像,为所有开发人员提供相同的编辑器工具,可以更容易实现标准. 大型项目的团队首先必须确保安装依赖.内核版本这些开发环境是统一的.为了解决开发环境一致性的问题,常规传统的办法就是制定开发人员遵循制定指南,但是尽管如此实际开发过程还是会遇到各种障碍. 设置环境的常规方法如下图所示: 另一种解决方案是使用所有必需的库和依赖项预先配置的开发环境,开发人员可以在容器中分拆这些库和依赖项.然

  • 解决vscode docker插件docker.socket权限问题

    解决办法, 将系统中(如果使用了remote-ssh, 则为远程服务器)所有的.vscode相关进程kill 这些进程都是在 .vscode 文件夹下, 因此可以直接搜索.vscode来kill他们, 然后再重启vscode, 就解决问题了. 知识点扩展: vscode中docker插件无法连接 报错Failed to connect. Is Docker running Error: connect EACCES /var/run/docker.sock 原因分析 原因是docker使用uni

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

    目录 拉取镜像 运行镜像(产生一个容器) 启动容器 进入容器 查看所有镜像 退出容器 重启容器 查看所有容器 删除容器 批量删除docker中已经停止的容器 vscode通过ssh远程连接服务器中的容器 拉取镜像 docker pull [options] name [:tag] 表示从仓库拉取镜像 options是参数 tag是版本 运行镜像(产生一个容器) docker run [options] image [:tag] [command] [arg-] 运行一个容器 以镜像为模版创建容器

  • VSCode远程连接服务器报错:Could not establish connection to

    目录 报错信息: 解决方法: 假设你已经做好了如下配置和尝试 在Extensions中安装好了Remote -SSH 添加了你要访问的服务器ip地址等信息,并拥有了一个config文件(如下图) 请记住这个config文件的路径,一般为"C:\Users\user_name\.ssh\config" 于是你开始尝试连接服务器,选择了最上方下拉菜单中的Linux/Windows之后,不幸失败了 报错信息: 出现Could not establish connection to "

  • Vscode远程连接Ubuntu出错问题的解决方法

    一.事件背景: 由于工作需要使用vscode远程连接到Ubuntu.(具体连接方法可百度,本文仅限分享其中遇到的问题) 二.问题现象: 在这过程中遇到了一个问题.其文字描述为:Could not establish connection to "IP地址"与过程试图写入管道不存在. 如下图所示: 三.问题分析: 1.根据问题报错在网上查找原因. 根据关键字"过程试图写入的管道不存在"匹配到的东西太多太广了,例如由于安装Git导致,由于Ubuntu升级系统导致,由于未

  • 分享VSCOCE远程连接服务器的一次错误记录(推荐)

    记录这个问题的目的是希望能帮助到遇到相同问题的人,自己也留个记录. 背景 这个问题的背景是这样的,工作当中android源码是放在公司服务器上的,这样看代码就不是很方便,于是就是用了VSCODE的ssh登录功能,比较方便,图形化的编辑查看服务器的代码,就跟在本地查看修改是一样的,很方便. 上两张图看一下 错误现象 忘记截错误图了,实际就是连接失败 错误引起 平时用着都没有问题突然就连接不上了,我通过putty登录到服务器,df -h查看硬盘存储空间,发现硬盘又满了,由于之前经历过服务器空间不足,

  • vscode ssh远程连接服务器的思考浅析

    目录 过往经验总结 关于vscode 与ssh有关的两个配置文件 报错解决:ssh连接时提示管道不存在 问题 解决方案 方案一:使用git中的ssh作为替代 方案二:修改私钥文件权限 各方式远程连接项目文件的性能对比 现象 原因分析 过往经验总结 注:笔者写本文的目的不是完整细致地描述连接的全过程,而是记录当中遇到的现象.问题,及为什么会产生这个问题的分析.所以部分过程会省略,或者默认读者都是很熟悉各种操作的. 使用ssh远程连接,要获知目标主机的ip地址,并使用正确的密码或密钥. 笔者之前曾尝

  • vscode远程开发使用SSH远程连接服务器的方法「内网穿透」

    目录 1.安装OpenSSH 2.vscode配置ssh 3. 局域网测试连接远程服务器 4. 公网远程连接 4.1 ubuntu安装cpolar 4.2 创建隧道映射 4.3 测试公网远程连接 5. 配置固定TCP端口地址 5.1 保留一个固定TCP端口地址 5.2 配置固定TCP端口地址 5.3 测试固定公网地址远程 远程连接服务器工具有很多,比如XShell.putty等,可以通过ssh来远程连接服务器,但这用于写代码并不方便,可能需要现在本地写好代码后再将源代码传送到服务器运行.服务器上

  • VSCode远程连接其他主机的WSL2的问题

    VSCode 的 Remote Deployment 插件对 WSL2 直接提供了支持,能够很方便的连接本机的 WSL2 ,但是并没有提供一个连接远程 WSL2 的解决方案.应该有不少小伙伴希望可以远程连接 WSL2 进行一些操作. 以下的解决方案源于:https://gist.github.com/mattbell87/f5bd7b78c8d0ad7f0dfc3addae4f4897 博主本人也是通过这篇文章解决这个痛点问题的,大家可以前往观摩一下. 正文开始 ~~ 在 Windows 10

  • python远程连接服务器MySQL数据库

    本文实例为大家分享了python远程连接服务器MySQL数据库的具体代码,供大家参考,具体内容如下 这里默认大家都已经配置安装好 MySQL 和 Python 的MySQL 模块,且默认大家的DB内表和访问账号权限均已设置无误,下面直接代码演示: # -*- coding: utf-8 -*- """ Created on Fri Dec 30 10:43:35 2016 @author: zhengyongzhe """ import MySQ

  • Pycharm远程连接服务器并实现代码同步上传更新功能

    一.写在前面 之前一直用putty,ssh,修改代码,或者本地修改,上传到服务器,各种不爽,现在改用xshell,但是有时候还是不方便感觉,于是自己配置了远程连接pycharm,这样不用总是到代码里修改,直接在windows下pycharm里修改再保存就可以实现同步更新到服务器里的代码里了. 二.连接服务器,配置本地远程项目同步 1.打开pycharm2018 2.Tools–>Deplcyment–>Configuration 3.点+添加一个新配置,随便起个名字,type选SFTP 4.选

  • phpstorm远程连接服务器并实时更新发布代码(thinkphp6.0.7)

    想要phpstrom 远程连接上服务器,需要通过以下 步骤操作,具体操作跟随一起看看吧! Step1 打开phpstorm Tools->Deployment->Configuration Step2 开始配置连接参数,我的是阿里云的服务器, 有一个 Test Sftp connection 测试连接的可以先测试下 选择yes 接下来 Step3: Text-to-HTML conversion tool 后面继续连接到你的服务器,并next到最后即可 然后如果想实时更新 这个选项得点下 我用

随机推荐