网站模板建站公司,asp网站开发视频,wordpress禁止外链,顺德网站设计制作容器
基本概念
镜像#xff08;Image#xff09;和容器#xff08;Container#xff09;的关系#xff0c;就像是面向对象程序设计中的 类 和 实例 一样#xff0c;镜像是静态的定义#xff0c;容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。 容…容器
基本概念
镜像Image和容器Container的关系就像是面向对象程序设计中的 类 和 实例 一样镜像是静态的定义容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。 容器的实质是进程但与直接在宿主执行的进程不同容器进程运行于属于自己的独立的 命名空间。因此容器可以拥有自己的 root 文件系统、自己的网络配置、自己的进程空间甚至自己的用户 ID 空间。容器内的进程是运行在一个隔离的环境里使用起来就好像是在一个独立于宿主的系统下操作一样。这种特性使得容器封装的应用比直接在宿主运行更加安全。
常用命令
创建并运行容器
命令
docker run xxx运行mysql镜像
// 5.7.25版本
docker run -d -p 3307:3306 --name mysql_muse -e MYSQL_ROOT_PASSWORDservyoumuse 98455b9624a9
// 8.0.20版本
docker run -d -p 3308:3306 --name mysql_muse8.0.20 -e MYSQL_ROOT_PASSWORDservyoumuse be0dbf01a0f3-d: 守护进行在后台运行 -p端口的映射宿主机的端口/容器的端口 3307是宿主机的端口(本机对外暴露的端口别的机器通过这个端口连接数据库) 3306指的是当前启动容器的端口 –name: 给容器设置个名称这里的名称就叫mysql -e: mysql的密码, 这里是给root用户设置的密码为 servyoumuse 最后跟着是镜像id
运行centos系统
docker run -it 300e315adb2f /bin/bash运行nginx
// 运行nginx
docker run -d -p 80:80 --name trident-web-1.2.0 6fca7654d0ab// 阿里云服务器运行nginx容器并与阿里云宿主机挂载容器卷
docker run -d -p 80:80 --name hexo-blog -v /root/workspace/hexo-blog:/usr/webapp nginx运行node容器 docker run -p 4000:4000 --name hexo -it 1d88d89c7230 /bin/bash// 宿主80端口映射容器4000端口直接访问域名就会转到容器内部的4000端口的服务了
docker run -p 80:4000 --name hexo -it 1d88d89c7230 /bin/bash重启容器
docker restart id
docker restart 60d763cdb56a停止容器
停止单个容器
docker stop containerId
docker stop 38eb55a92d74 停止所有容器
docker stop $(docker ps -q)查看容器
查看所有运行中的容器
docker ps查看所有的-包括停止的
docker ps -a查看最近运行过的容器
docker ps -l删除容器
删除单个容器
docker rm id
docker rm 69541657497a删除一个已近存在的容器删除这个容器之前需要先stop不然会收到如下错误
删除所有容器
docker rm $(docker ps -aq)停止并删除所有容器
docker stop $(docker ps -q) docker rm $(docker ps -aq)进入容器内部
docker exec -it 容器id sh
docker exec -it fc29bdda6386 sh# 有的Dockerfile追加了 CMD /bin/bash 那就不用加后面的这个 /bin/bash 否则需要加的不然就会kill itself
docker exec -it 容器id /bin/bashattach
docker attach containerID
docker attach可以attach到一个已经运行的容器的stdin然后进行命令执行的动作。但是需要注意的是如果从这个stdin中exit会导致容器的停止。而使用exec的方式进入容器exit出来之后该容器可以正常运行 退出容器 新建镜像
如果我们运行一个容器比如是ngnix, 此时运行的是一个从官网拉下来的标准配置的ngnix,我们在运行的容器中按需修改了一些配置此时我们可以提交该容器成为新的镜像新的镜像就可以包含我们修改的一些配置。以后就可以以此为新的镜像启动。
docker commit -m提交的描述信息 -a作者 容器id 要创建的目标镜像名:[标签名]等将一个容器打成新的镜像之后又可以将整个新的镜像导出出去供给别人使用