docker自定义网络-简单总结

容器启动前需要注意的事情:

以下内容需要首先去hub.docker.com官网去查看指定镜像在启动容器时的用法:

1.是否需要加入端口映射,如果需要添加-p参数,-p 浏览器访问端口(外部端口):容器内部端口

2.是否需要加入自定义网络,一般应该是容器集群的情况会使用,如果需要添加--network参数,且在容器启动前先创建一个自定义网络

3.容器应用是否有文件目录需要挂载到主机外边用于修改和持久化,如果需要添加-v参数,主机目录:容器内部目录,且要考虑容器启动是否需要默认配置文件,如果需要则要使用卷映射,而不能能使用目录挂载,否则会因为容器启动时映射的主机目录为空目录而导致容器启动失败,如nginx容器启动

4.容器启动的时候是否需要加一些环境变量来做初始配置,如上篇博客提到的redis主从集群就需要在容器启动时添加一些初始环境变量,具体的环境变量如何配置使用要去docker hub官网去看

5.指定容器名称 --name,如果不指定容器名称docker会随机给一个名字,一般建议指定

6.指定使用的镜像名称+tag版本,容器可用的镜像版本去hub.docker.com官网指定镜像的tags标签页去查看可使用的镜像,再使用每个tag版本右侧git pull的镜像名称+版本即为可使用镜像+版本

7.执行容器启动命令docker run -d

8.docker ps命令查看容器是否启动成功,找到指定容器名称,查看容器的status状态是否为up,一般为up即为启动成功。如果没有启动成功即用docker ps没有查到运行中的容器 用docker ps -a查看所有容器,然后找到指定容器名称查看容器状态,再用docker logs 容器ID(容器ID前三位即可)查看容器启动报错日志,查看error日志,一般warning日志不影响,查找到错误之后再docker restart 容器id重启容器看是否重启成功

例子:启动一个mysql容器

1.去hub.docker.com搜索mysql镜像,并且查看相关命令参数使用用法

2.mysql容器启动并在外部主机连接mysql容器:

外部主机连接mysql容器的注意事项:

1.连接的IP地址为安装docker的服务器地址,确保该容器的对外暴露的端口已经去掉防火墙啥的,否则外部电脑连接不上,如在某一个linux服务器安装了docker,并在docker中启动了mysql容器应用,且这个mysql容器应用在linux服务器暴露的端口是3306,确保这个linux服务器3306端口已经开放防火墙规则,否则在windows电脑上连接这个linux服务器的3306的mysql服务是连接不成功的。如果IP地址为一些云服务器,确定使用公网IP地址,否则也连接不上。(个人理解。。。。)

相关推荐
minji...41 分钟前
Linux 线程同步与互斥(二) 线程同步,条件变量,pthread_cond_init/wait/signal/broadcast
linux·运维·开发语言·jvm·数据结构·c++
虚伪的空想家1 小时前
k8s集群configmap和secrets备份脚本
linux·容器·kubernetes
SXJR1 小时前
k8s中的Pod
云原生·容器·kubernetes
文静小土豆1 小时前
K8s 滚动更新在 Java 应用中的实践与优化
java·容器·kubernetes
the sun341 小时前
从 QEMU 直接启动到 U-Boot 引导:嵌入式 Linux 启动流程的本质差异
linux·运维·服务器
三思守心1 小时前
从 0 到 1 搭建自动化内容工厂:深度测评楼兰AI及其在全平台发帖中的表现
运维·服务器·自动化
草莓熊Lotso1 小时前
【Linux 线程进阶】进程 vs 线程资源划分 + 线程控制全详解
java·linux·运维·服务器·数据库·c++·mysql
ZKNOW甄知科技1 小时前
数智同行:甄知科技2026年Q1季度回顾
运维·服务器·人工智能·科技·程序人生·安全·自动化
-SGlow-1 小时前
Linux相关概念和易错知识点(52)(基于System V的信号量和消息队列)
linux·运维·服务器
jikemaoshiyanshi1 小时前
B2B企业GEO服务商哪家好?深度解析径硕科技(JINGdigital)及其JINGEO产品为何是首选
大数据·运维·人工智能·科技