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


猜你喜欢
- 以Fedora操作系统进行举例: 1)首次安装apache,在编译时增加——enable-rewrite选项。 如。/configure —
- IIS服务器出错的原因是复杂的。如服务启动失败、IIS进程中断或者站点不能启动这些错误都会在系统日志中记录一个错误事件。不论IIS出现何种错
- 一、安装win10企业版自带虚拟机 hyper-v1、控制面板-->程序和功能-->启用或关闭Windows功能勾上 hyper
- less 文件名查看文件less 文件名 | grep -n 查找内容根据内容过滤显示,并显示行号less +行号g 文件名查看文件,并定位
- 伴随着康盛创想(Comsenz)2010年核心产品Discuz! X1的正式发布,如何更快应用新的模板机制改版已经成为站长建站普遍关注的焦点
- 一.错误表现 IIS5的HTTP 500内部服务器错误是我们经常碰到的错误之一,它的主要错误表现就是ASP程序不能浏览但HTM静态网页不受影
- Adobe Dreamweaver支持HTML5 Xtalk社区聊天插件 v1.2 正式版5月19日发布。Xtalk是为Discuz!/UC
- 根据笔者目前了解到的最新消息:信产部的二期网站备案系统即将于明日9月20日上线,全新的备案系统将确保备案提交当天即可通过备案。备案站点的审核
- SEO发展到今天,可以说已经有非常多的SEOER涌现,也有越来越多的“准SEOER”正在学习或打算学习SEO技术,那么,是什么导致SEO越来
- 如果你是一个项目管理者,可能听说过redmine。它是一个项目管理系统的后起之秀,具备了广泛的项目管理平台特点同时,还提供了诸多的独有的特性
- 10月31日消息,消息人士透露,思科和EMC将联手销售用于云计算服务的新款网络设备、计算机和存储系统。据国外媒体报道称,代号为&ld
- 建立博客有助于打造卓越企业的核心要件。企业的核心需求如下所示:妙点子好产品能见度训练有素的团队,为企业的成功而努力不懈提升业务的创意,改善公
- 今天使用SSH远程部署项目,部署好了之后关掉终端,然后打开网页在操作时发现没有服务,于是再一次登进终端,采用ps -ef|grep bea查
- VMware Server提供了一个免费的并且比较容易进入的服务器虚拟化方法,不过部署它的几个方面——尤其是配置,可能很棘手。即使
- 今天在Linux上调试程序程序的时候发现有时候程序会莫名其妙的hang住,于是就想能不能找到当时程序有那些线程,都在做什么。找了一下linu
- 如果想为WP找一个相册插件,我想NextGEN Gallery最适合了,我觉得这是我用过的最好的WP插件之一,功能很强大,提供了很完美的照片
- 很多网站上都设有在线投稿功能,在线投稿可以让其他读者的文章有机会发布在自己网站或博客上。这样不仅可以加快文章的更新频率,而且还会充实自己的网
- 一位网友在JavaEye询问了一个大型Web系统的架构和部署选型问题,希望能提高现有的基于Java的Web应用的服务能力。由于架构模式和部署
- 问题提出公司的开发测试服务器部署在阿里云, 阿里云给出的实例一般都是只有一个分区, 20G到40G的样子, 然后再买存储挂载到其他目录.而
- 广告的位置完全决定了广告的点击率,以文章网站为例,文章正文放336*280是公认点击率最高的。有的人总是抱怨某项广告收益太低,也许就是因为广