记录一下 docker启动linux容器相关操作

本文介绍如何使用Docker创建、配置并启动Linux容器,实现SSH远程连接。包括镜像搜索、下载、查看,容器启动与管理,以及在容器内安装SSH服务,设置端口映射和权限,确保远程访问的安全与便捷。

--查找镜像文件
docker search centos 
--下载镜像文件 tag-版本号
docker pull centos:tag 
--查看本机所有镜像文件
docker images 
--查看运行的容器
docker ps 
--启动容器 并且指定端口映射 -it 开启命令交互模式 -d: 后台运行容器,并返回容器ID;-p: 指定端口映射 -ContainerPort容器中的端口 -dockerPort 主机(宿主)端口 
docker run -it -d -p dockerPort:ContainerPort --privileged centos:tag /usr/sbin/init 
--进入容器 -containerId 容器Id /bin/bash 容器中执行的命令
docker exec -it containerId /bin/bash 


**docker中启动linux容器并开启ssh远程连接 
--安装相应工具
yum install net-tools.x86_64
yum install -y openssh-server
--启动ssh服务
systemctl start sshd
--修改root密码
passwd root
--linux容器对外开放端口
查询已开放的端口: netstat -anp
查询指定端口是否已开: firewall-cmd --query-port=666/tcp
添加指定需要开放的端口:firewall-cmd --add-port=123/tcp --permanent
重载入添加的端口:firewall-cmd --reload
查询指定端口是否开启成功:firewall-cmd --query-port=123/tcp


**保存修改后的容器 centos:tag 保存为新的容器的名称及版本号
docker commit containerId centos:tag
 

### 如何在 Docker启动容器 #### 使用 `docker run` 命令启动容器 要创建并启动一个新的容器,可以使用 `docker run` 命令。此命令不仅会启动容器,还会自动拉取所需的镜像(如果本地不存在该镜像)。基本语法如下: ```bash docker run [OPTIONS] IMAGE [COMMAND] [ARG...] ``` 例如,为了基于官方的 Nginx 镜像来启动一个新容器,并让其以后台模式运行,可执行下面这条指令[^2]: ```bash docker run -d nginx ``` 这里 `-d` 参数表示以分离模式(即后台)运行容器。 对于希望映射主机端口到容器内部服务的情况,则可以通过 `-p` 或者 `-P` 来指定端口转发规则。比如想要把宿主机上的8080端口映射给Nginx容器内的默认HTTP服务器监听使用的80端口的话,应该这样操作: ```bash docker run -d -p 8080:80 nginx ``` 另外,在某些情况下可能还需要挂载数据卷以便于持久化存储文件或其他资源;此时可以用 `-v` 参数实现这一点。假设有一个名为 `/my/custom/nginx/html` 的目录打算作为静态网页根路径被共享至容器内相同位置,那么完整的命令将是这样的形式: ```bash docker run -d -p 8080:80 -v /my/custom/nginx/html:/usr/share/nginx/html nginx ``` 以上就是通过 `docker run` 方式启动容器的一些常见用法介绍。 #### 查看已有的容器及其状态 当已经成功启动了一个或多个容器之后,有时需要了解当前有哪些正在运行中的实例以及它们的状态信息。这时就可以借助 `docker ps` 这样的辅助工具来进行查询了。它能够显示所有处于活动状态下的容器列表,默认只会展示最近一次的结果集。而若是要获取全部历史记录——无论是否仍在运作之中——则需附加 `-a` 标志位: ```bash docker ps # 显示活跃容器 docker ps -a # 列出所有容器(包括停止的) ``` #### 获取特定容器的日志输出 除了上述提到的功能之外,有时候还希望能够监视某具体容器的标准输出流,特别是那些非交互式的进程。这可通过调用 `docker logs` 加上目标对象的名字或者ID号完成。例如,针对之前提及的那个nginx实例而言,假如它的短名称叫做“nostalgic_morse”,那就可以这样做来读取消息日志: ```bash docker logs nostalgic_morse ``` 同样地,也可以实时跟踪最新的日志条目变化情况,只需追加 `-f` 开关即可获得类似tail的效果: ```bash docker logs -f nostalgic_morse ``` 最后值得注意的是,虽然本节主要围绕着Linux环境展开讨论,但对于Windows操作系统来说也同样适用这些方法论,只不过可能会存在些许细微差别而已[^3]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值