docker 使用帮助整理 本文共有2523个字,关键词:Docker、使用教程 1、centos下安装docker: yum install docker windows下直接下载安装包安装即可 2、搜索docker镜像: docker search keyword ps:docker search php7 #搜索php7相关镜像 3、拉取/下载镜像: docker pull 镜像名称 4、启动容器: ``` `docker run -t -i -d -p 8000:80 镜像名称 /bin/bash` ``` >解释: `-t`让docker分配一个伪终端并绑定到容器的标准输入上, -i则让容器的标准输入保持打开. >`-d` 后台运行 >`-p` 绑定端口 主机端口:docker中的端口 [这里有一个坑:指定的docker中的端口必须在docker启动时处于使用状态。否则docker启动后显示是没有运行,并且也无法启动。] -p可以绑定多个端口 $ `docker run -d -p 5005:5000 -p 5006:80 myfirstapp python app.py` >`/bin/bash` docker启动后运行的程序。这个可以自己任意修改指定为docker中的任意命令,所以可以自己编写一个sh来执行一系列启动操作。比如启动`php bin/swoft start` 来开启swoft服务。 5、停止容器 停止 `docker stop 运行中的containnerid或名称` 重启 `docker restart [OPTIONS] contains[CONTAINER]` 启动 `docker start [OPTIONS] contains[CONTAINER]` 6、删除容器 `docker rm 运行中的containnerid或名称` 7、查看所有容器 任务列表:`docker ps -a` 运行中的任务:`docker ps` 显示完整任务详情包含启动命令完整信息: `docker ps -a --no-trunc` 8、进入已经运行的docker: `docker exec -it 运行中的containnerid或名称 /bin/bash` 9、将运行中的docker保存为一个镜像: docker commit containerid foo/live >解释:containerid 运行中的容器id >foo/live 自定义镜像名称 10、无法绑定端口时可以使用本地 iptable转发端口 例:将容器的8000端口映射到docker主机的8001端口 iptables -t nat -A DOCKER -p tcp --dport 8001 -j DNAT --to-destination 172.17.0.19:8000 11、查看容器的信息 docker inspect `container_name` 里边包含容器的IP等各种配置信息 单独查找IP信息; docker inspect `container_name` | grep IPAddress 12、删除镜像,从本地删除一个已经下载的镜像 ``` docker rmi IMAGE [IMAGE...] docker rmi centos:latest ``` 13、查看镜像列表,列出本地的所有images docker images [OPTIONS] [NAME] docker images centos 14、docker挂载本机目录 docker run -it --privileged=true -v /test:/soft centos /bin/bash /test为主机目录 /soft为 docker中的目录。目录不存在时自动创建。挂载时需要添加 ‘--privileged=true’选项,否则挂载目录无操作权限。挂载目录如果在docker中发生所属用户变化,主机中的也会发生变化。变成相同ID的用户。例如:docker中 id=3的用户是www。主机中的id=3的是test 则相应显示各自的用户名。 挂载后的文件夹相当于是完全权限的共享文件夹。删除docker后,主机中文件夹不会恢复到初始状态。 15、退出docker: `exit` 16、如果docker默认不是以root用户运行的,可以强制指定登录的时候使用root ``` docker exec --privileged -u root -it /bin/bash ``` docker镜像可以直接通过搜索然后pull下载,也可以直接到网站上下载。 docker下载镜像:`https://hub.docker.com/` 15、docker容器自动启动。如果添加容器的时候忘记添加 --restart=always 可以使用以下命令设置自动启动 `docker container update --restart=always 容器名` 方法二: 首先停止容器,不然无法修改配置文件 配置文件路径为:/var/lib/docker/containers/容器ID 在该目录下找到一个文件 hostconfig.json ,找到该文件中关键字 RestartPolicy 修改前配置`"RestartPolicy":{"Name":"no","MaximumRetryCount":0}` 修改后配置:`"RestartPolicy":{"Name":"always","MaximumRetryCount":0}` 最后启动容器。 × yihong (๑>ڡ<)☆谢谢老板~ 2元 5元 10元 50元 100元 任意金额 2元 使用微信扫描二维码完成支付 版权声明:本文为作者原创,如需转载须联系作者本人同意,未经作者本人同意不得擅自转载。 码农心得 2019-08-17 评论 2198 次浏览