Docker 创建容器以及管理命令(三)
1. 创建 Apache 容器
[root@centos7 ~]# docker run -d -p : httpd
// -d: 放入后台运行
// -p: 指定端口映射关系(第一个为本地端口、第二个为容器端口)

2. 创建 Nginx 容器
[root@centos7 ~]# docker run -d -p : nginx // 将本地的 8080 端口映射到容器的 80 端口;

3. 查看容器
[root@centos7 ~]# docker ps -a // docker ps 命令时查看运行中的容器
// -a 选项是查看所以容器(不论容器属于什么状态)

4. 测试容器是否启动成功
测试HTTP服务80端口:

测试nginx服务8080端口:

5. 查看 docker 标准输出
[root@centos7 ~]# docker ps -a
[root@centos7 ~]# docker logs “容器ID”

6. 停止和启动容器
# 查看容器ID:
[root@centos7 ~]# docker ps -a
# 停止容器,使用容器ID来指定:
[root@centos7 ~]# docker stop “容器ID”
# 再次查看容器运行状态:
[root@centos7 ~]# docker ps -a # 启动已停止的容器,ID来指定:
[root@centos7 ~]# docker start “容器ID”
# 再次查看容器运行状态:
[root@centos7 ~]# docker ps -a

7. 删除容器
# 查看容器:
[root@centos7 ~]# docker ps -a
# 强制删除容器(谨慎使用该命令)
[root@centos7 ~]# docker rm -f “容器ID”

8. 查询端口映射
[root@centos7 ~]# docker port “容器ID”
/tcp -> 0.0.0.0:
9. 容器为任务而生
[root@centos7 ~]# docker run httpd echo "www"
www
[root@centos7 ~]# docker ps -a

10.进入容器修改内容
[root@centos7 ~]# docker exec -it “容器ID” /bin/bash
root@f1507b05b31c:/usr/local/apache2# # 已经入容器

root@f1507b05b31c:/usr/local/apache2/htdocs# pwd
/usr/local/apache2/htdocs
root@f1507b05b31c:/usr/local/apache2/htdocs# echo Hello > index.html

注:容器本身是个精简化的东西,未自带vi和vim命令,在未安装之前我们简单通过重定向进入测试。
测试:

11. 查询容器详细信息
[root@centos7 ~]# docker inspect “容器ID”

12. 复制本地文件到容器中
[root@centos7 ~]# docker cp /etc/profile 容器ID:/root
[root@centos7 ~]# docker exec -it f15 /bin/bash // “f15” 是容器的省略ID

13. 本地目录跟容器目录挂载
创建本地挂载目录:
[root@centos7 ~]# mkdir /root/httpd_data
创建容器:
[root@centos7 ~]# docker run -d -p : -v /root/httpd_data:/usr/local/apache2/htdocs --privileged=true httpd
// -v 本地目录/root/httpd_data 容器目录/usr/local/apache2/htdocs
// --privileged=true 关闭安全权限,否则你容器操作文件夹没有权限

测试目录是否挂载成功:
# 在本地挂载的目录下创建一个文件,我这里创建的是HTML文件
[root@centos7 ~]# cd httpd_data/
[root@centos7 httpd_data]# cat test.html
Test
进入容器目录查看是否已创建:
# 进入容器
[root@centos7 httpd_data]# docker exec -it /bin/bash # 进入挂载目录
root@246f1a196a9b:/usr/local/apache2# ls
bin build cgi-bin conf error htdocs icons include logs modules
root@246f1a196a9b:/usr/local/apache2# cd htdocs/ # 查看文件内容
root@246f1a196a9b:/usr/local/apache2/htdocs# ls
test.html
root@246f1a196a9b:/usr/local/apache2/htdocs# cat test.html
Test # 完成容器目录跟本地目录的挂载!

这是一些Docker的简单而常用的命令,更多命令可以使用“--help”来了解使用。
Docker 创建容器以及管理命令(三)的更多相关文章
- docker 创建容器与管理容器
创建容器的选项 [root@mast ~]# docker container run --help Usage: docker container run [OPTIONS] IMAGE [COMM ...
- Docker 创建容器 查看容器状态 - 三
Docker 创建容器 1.拉取镜像 默认是 docker.io 仓最新镜像 docker pull tomcat 2.运行一个服务容器 docker run -d -p 0.0.0.0:18080: ...
- Docker 共有 13 个管理命令和 41 个通用命令,以下是常用 Docker 命令列表
开发人员一直在努力提高 Docker 的使用率和性能,命令也在不停变化.Docker 命令经常被弃用,或被替换为更新且更有效的命令,本文总结了近年来资深专家最常用的命令列表并给出部分使用方法. 目前, ...
- docker 创建容器的时候的坑
其实这个题目的话,对于我后面陈述的问题发生的本身并没有太多的联系,但是因为是在docker创建容器的操作之内发生的,所以记录以下 因为网上有些文章有些作者喜欢使用git的命令窗体,说实在的,公司里面用 ...
- docker 创建容器时指定容器ip
Docker创建容器时默认采用bridge网络,自行分配ip,不允许自己指定. 在实际部署中,我们需要指定容器ip,不允许其自行分配ip,尤其是搭建集群时,固定ip是必须的. 我们可以创建自己的bri ...
- docker 创建容器时遇到的坑
坑一.时区问题 在创建系统镜像时,比如centos,会默认最小安装,并且时区默认的是UTC 所以在下好centos的原始镜像后,最好再重新构建一个新的镜像 # 命令 docker pull cento ...
- 关于docker创建容器报错-docker: Error response from daemon: runtime "io.containerd.runc.v2" binary not installed
今天在对一台服务器(docker相关的业务服务器)进行OS补丁时,默认使用的 yum update -y 对所有的安装包进行了升级 升级完成后,让应用方检查确认应用及功能是否一切正常,如果不正常,严重 ...
- docker 清理容器的一些命令,彻底或选择清理
越往下的,越要慎重 列出无用的卷 docker volume ls -qf dangling=true 清理无用的卷,容器,镜像 docker volume rm $(docker volume ls ...
- Docker创建容器
容器是镜像的一个运行实例,是基于镜像运行的轻量级环境,是一个或者一组应用. 怎样创建容器?将容器所基于的镜像名称传入即可,Docker会从本地仓库中寻找该镜像,如果本地仓库没有,则会自动从远程仓库中拉 ...
随机推荐
- [20171113]修改表结构删除列相关问题3.txt
[20171113]修改表结构删除列相关问题3.txt --//维护表结构删除字段一般都是先ALTER TABLE <table_name> SET UNUSED (<column_ ...
- Javascript 高级程序设计--总结【二】
********************** Chapter 6 ********************** 属性: 数据属性: Configurable: 能否通过delete 删除属性,默认 ...
- weblogic CVE-2018-2628漏洞利用工具
weblogic CVE-2018-2628漏洞利用 漏洞环境: Windows2018R2 weblogic10.3.6 漏洞利用过程: 搭建好存在CVE-2018-2628漏洞的weblogic平 ...
- Python实例---模拟微信网页登录(day5)
第六步: 实现发送/接受消息---day5代码 settings.py """ Django settings for weixin project. Generated ...
- 第 16 章 C 预处理器和 C 库(qsort() 函数)
/*---------------------------------------- qsorter.c -- 用 qsort() 排序一组数字 --------------------------- ...
- [java基础]一文理解java多线程必备的sychronized关键字,从此不再混淆!
java并发编程中最长用到的关键字就是synchronized了,这里讲解一下这个关键字的用法和容易混淆的地方. synchronized关键字涉及到锁的概念, 在java中,synchronized ...
- 启用crontab
1.登录到root用户. 2.在root下输入:crontab -e 3.可能会提示你: no crontab for root - using an empty one 然后会叫你“Select a ...
- Django之知识总结
1. 课程介绍 - 数据类型 - 函数 - 面向对象三大特性:继承,封装,多态 - socket:本质传输字节:所有网络通信都基于socket - 数据库设计:单表.FK.M2M (自己作业:自己领域 ...
- 用PHP的curl实现并发请求远程文件(并发抓取远程网页)
PHP的curl功能确实强大了.里面有个curl_multi_init功能,就是批量处理任务.可以利用此,实现多进程同步抓取多条记录,优化普通的网页抓取程序. 一个简单的抓取函数: function ...
- 清空visual studio 开发缓存
C:\Users\Administrator\AppData\Local\Temp\Temporary ASP.NET Files C:\Windows\Microsoft.NET\Framework ...