基本概念

容器container本质是一个运行在主机上的进程

  • 查看运行的容器docker ps 默认只看运行中的
  • 查看所有的容器docker ps -a
  • 删除容器 docker rm 容器id[或容器名]
  • 停止一个容器 docker stop 容器id

镜像image是容器的静态概念(可以看做容器的“安装包”)

  • 查看安装的镜像docker images
  • 删除镜像docker rmi 镜像名

仓库是存放镜像的地方,跟git一样的

镜像是打包好的运行环境,比如centos,做好这个镜像后上传到镜像库,别人就可以直接pull下来运行使用了。

安装过程记录

  1. 拉取镜像 docker pull centos
  2. 运行容器 docker run -it -p 8080:80 centos /bin/bash 该命令总是会创建一个新容器,如果要启动已经存在的容器,用docker start 容器id
  3. -i 交互模式
  4. -t 分配一个伪终端
  5. -p 主机端口:容器内的端口
  6. centos镜像名,公共受信任的镜像可以直接用镜像名,个人镜像一般是镜像库用户名/镜像名,镜像库和git库类似,如果要拉取进行的某个版本标签,可以镜像名:[Tag名]
  7. /bin/bash启动镜像后执行的命令,这里也就是启动后打开终端,然后可以使用centos的yum安装需要的包,systemctl start 启动需要的服务
  8. 但在systemctl start时报错:Failed to get D-Bus connection: Operation not permitted
  9. 这是因为D-Bus没有启动,启动选项加上 --privileged -d,并把命令从/bin/bash 修改为init
  10. init就是/usr/sbin/init, 里面会自动启动D-Bus
  11. --privileged 赋予容器更多的权限,以便正常启动D-Bus
  12. -d是进入后台运行,init并不是控制终端,执行完成后它会一直停在那个地方,无法进行命令交互,所以-d让他脱离命令行,进入后台运行
  13. 然后docker exec -it [容器id] /bin/bash 进入容器的终端,接着就可以进行使用centos的各项命令了
  14. 需要安装的内容
  15. PHP
  16. Apache
  17. MySQL
  18. openssh-server 方便通过ssh登录容器,主要是方便用sftp scp这些上传下载代码
  19. 目录共享,我们可以把docker容器中apache的工作目录挂载到主机上(运行docker的机器)的目录
  20. 增加ssh端口映射,如果run后发现需要增加端口, 比如增加ssh端口,可以这么做
  21. docker commit [容器id] [起一个名字],先把当前的容器另存为一个镜像
  22. 然后在用run启动这个镜像,并带上你添加的端口 docker run -it -p 2222:22 -p 8080:80 --privileged -d [commit时的镜像名字] init
  23. 但这里要注意,之前的端口映射也要加上 , 这里的做法只是在之前的容器上继续启动,之前镜像中安装的内容也还在,但run命令的参数和之前是一样的,增加内容而已
  24. vim /etc/ssh/sshd_config
  25. 添加PermitRootLogin yes
  26. 记得docker exec -it [容器id] /bin/bash后设置一个root密码
  27. 在上面主机和容器目录共享,在run时加上参数 -v [主机的目录]:[容器中的目录],比如 -v /workspace/ydeditor:/var/www/html

docker增加端口映射_docker配置lamp环境笔记相关推荐

  1. docker 添加端口映射_Docker容器修改端口映射

    对于已经建立的docker容器,需要新增容器对主机的端口映射,主要分为三种: 一:通过修改配置文件修改docker容器端口映射 1.使用docker ps -a命令找到要修改容器的CONTAINER ...

  2. docker 添加端口映射_Docker快速搭建PHP开发环境详细教程

    想必作为一个web开发的程序员,近些年对docker技术一定不会陌生,docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux ...

  3. docker 添加端口映射_Docker三大核心概念之容器

    ​容器 1.新建容器 docker create命令创建一个容器,例如: docker create -it hello-world 使用docker create命令新建的容器处于停止状态.可以使用 ...

  4. docker容器增加端口映射最佳实践(修改配置文件方式)

    前言: 在日常的docker运维中,经常遇到这样一个问题:已经配置好且运行的docker容器要根据业务需要增加端口映射到宿主机,如何简单有效的解决呢? 下面以mysql容器为例,详细说明操作步骤. 一 ...

  5. centos6 安装 mantisbt-1.2.8 —— (4)在CentOS6.4中安装配置LAMP环境

    一.修改设置对安装做准备 1 1. 防火墙设置 2 2. 关闭SELINUX 3 二.开始安装软件 4 1. MySql的安装和配置 4 2. Apache服务的安装和配置 8 3.安装PHP 10 ...

  6. CentOS下如何配置LAMP环境

    目前世界最流行的企业建站方式是LAMP(Linux+Apache+MySQL+PHP),即使用Linux作为操作系统,Apache作为Web服务器,MySQL作为数据库,PHP作为服务器端脚本解释器. ...

  7. untubu安装mysql_简单操作阿里云untubu服务器并且配置LAMP环境

    前言 简单操作阿里云untubu服务器并且配置LAMP环境 Linux常用命令 在配置untubu服务器之前,我们得先看几个简单的linux常用的简单命令 sudo以管理员的身份执行命令 查看文件 l ...

  8. 在Linux中进行docker网络端口映射

    在Linux中有两种安装docker的方法,一种是使用官方安装脚本自动安装docker,另一种是手动安装docker. 容器中可以运行一些应用,要让外部也可以访问这些应用,可以通过"-P或- ...

  9. docker的端口映射顺序

    docker的端口映射顺序 docker run -d -p 5433:5432 postgres -p 宿主机端口5433 : 容器端口5432

最新文章

  1. 未能从程序集 XX加载类型XXX的错误解决方法(借以提醒NHibernate使用者)
  2. DHCP服务器的搭建
  3. 玩转Mixly – 2、Arduino AVR编程 之 输入输出
  4. ant vue 设置中文_Ant Design Vue 添加区分中英文的长度校验功能
  5. Linus 在圣诞节想提前放假做了这些解释,哈哈哈
  6. 【Lintcode】029.Interleaving String
  7. OmniVision的CMOS 图像传感器技术发展路线
  8. Java数据结构Map List Set及Queue相关的类图
  9. Date与String之间的转换
  10. redis4数据类型.更新HyperLogLog类型
  11. 写代码千万别用User这个单词!
  12. SQL UNION使用
  13. arcgis for android 学习 - (5) 在地图指定位置添加“标记“,并尝试选中它
  14. Atitit db model 数据库快速建模法 开发效率 目录 1. 结构(数据)设计 行为(处理)设计: 1 2. 业务建模阶段 1 2.1. Ui建模法,根据表单字段建立表字段 2 2.2.
  15. java 生成ai矢量图,PS和AI将图片转成矢量图
  16. MySQL 怎么插入10天前的日期_Mysql笔记
  17. 文件锁(一)——文件锁的概述
  18. js 文本框获取焦点
  19. 硬件产品经理的学习之路(一)
  20. 这6个浏览器书签你一定要收藏,用过的web前端开发都会树立大拇指

热门文章

  1. ubuntu从命令打开终端
  2. “大鳄”伪装小职员,涉案金额达 5 亿!全球最大游戏外挂案告破
  3. C++落选,2021年最想学习的五大编程语言
  4. 机器闹乌龙?Amphetamine 险遭苹果下架
  5. 九大操作系统掌门人齐聚岳麓,六代技术人跨代对话,共同见证技术大时代
  6. 腾讯云公布5G产品矩阵;IntelliJ IDEA 2020.2.1发布| 极客头条
  7. 中国最优秀的程序员都有哪些?王兴、张小龙、张一鸣是哪类?| 蒋涛说
  8. 用 C++ 跟你聊聊“桥接模式” | 原力计划
  9. 还在家隔离呢?没事写写这些程序吧!
  10. 微信潜规则:月薪过万的90后,过年都在看什么?