如何建设和优化一个网站,wordpress dux2.0,软件定制网站优化 seo一站式,医药网站备案通常在运行容器时#xff0c;我们都会通过参数 -p来指定宿主机和容器端口的映射#xff0c;例如
docker run -it -d --restart always --name [指定容器名] -p 8899:8080 [指定镜像名]上述命令将容器内的8080端口映射到宿主机的8899端口。
参数说明 -d 表示后台运行容器 -t…通常在运行容器时我们都会通过参数 -p来指定宿主机和容器端口的映射例如
docker run -it -d --restart always --name [指定容器名] -p 8899:8080 [指定镜像名]上述命令将容器内的8080端口映射到宿主机的8899端口。
参数说明 -d 表示后台运行容器 -t 为docker分配一个伪终端并绑定到容器的标准输入上 -i 是让容器的标准输入保持打开状态 -p 指定映射端口 –restart 指定容器异常停止后是否自动重启
当容器已经运行之后且容器中已经有配置改动不方便重新创建逐一修改配置时则可通过两种方式新增端口映射。
一、将现有的容器打包成镜像并重新运行
如果正在运行的容器已经修改了很多配置重新创建镜像修改配置比较麻烦时可在现有的容器基础上打包一个镜像。然后在运行新镜像时进行端口映射的新增或修改。
step 1. 停止指定容器
docker stop container-namestep 2. 将容器commit成为一个镜像
docker commit -a 作者 -m 这里是镜像的注释 [容器名称或id] [打包的镜像名称]:[版本标签]
#常用OPTIONS说明
# -a :提交的镜像作者
# -c :使用Dockerfile指令来创建镜像
# -m :提交时的说明文字
# -p :在commit时将容器暂停或者使用export和import将容器导出为镜像
docker export 容器ID 压缩包名称.tar
cat 压缩包名称.tar | docker import - 镜像名称版本标签
#导出
$ docker export 1efca3906 centos.tar
#导入
$ cat docker/centos.tar | docker import - test/centos:v1注意容器在提交之前需要先停止。如果容器正在运行则提交操作将失败。此外提交的容器必须是基于一个基础镜像构建的否则提交操作也将失败。
step 3. 用新镜像运行容器
docker run -it -d --name container-name -p 8848:8848 -p 9848:9848 new-image-name至此原有容器内配置不变在启动时进行了新的端口映射。
二、修改要端口映射的容器的配置文件推荐
step 1. 查看容器信息
# 查看容器列表
docker ps -a# 查看容器的端口映射情况在容器外执行
docker port [容器id]
# 或
docker port nginxstep 2. 查找要修改容器的容器全Id
docker inspect [容器id或名称] | grep Idstep 3. 修改配置文件
进入/var/lib/docker/containers目录找到与上述Id相同的文件夹修改该文件夹下的 hostconfig.json 和 config.v2.json文件。
在修改之前还需要停到容器和docker服务。
docker stop [容器id]
systemctl stop docker修改hostconfig.json找到key为PortBindings的配置添加端口绑定9848/tcp: [{“HostIp”: “”,“HostPort”: “9848”}]表示绑定端口9848
PortBindings:{8848/tcp:[{HostIp:,HostPort:8848}],9848/tcp:[{HostIp:,HostPort:9848}]}修改config.v2.json文件在ExposedPorts中加上要暴露的端口即9848
ExposedPorts:{8848/tcp:{},9848/tcp:{}}保存配置文件重启docker服务和容器
systemctl start docker
docker start [容器id]