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 创建容器以及管理命令(三)的更多相关文章

  1. docker 创建容器与管理容器

    创建容器的选项 [root@mast ~]# docker container run --help Usage: docker container run [OPTIONS] IMAGE [COMM ...

  2. Docker 创建容器 查看容器状态 - 三

    Docker 创建容器 1.拉取镜像 默认是 docker.io 仓最新镜像 docker pull tomcat 2.运行一个服务容器 docker run -d -p 0.0.0.0:18080: ...

  3. Docker 共有 13 个管理命令和 41 个通用命令,以下是常用 Docker 命令列表

    开发人员一直在努力提高 Docker 的使用率和性能,命令也在不停变化.Docker 命令经常被弃用,或被替换为更新且更有效的命令,本文总结了近年来资深专家最常用的命令列表并给出部分使用方法. 目前, ...

  4. docker 创建容器的时候的坑

    其实这个题目的话,对于我后面陈述的问题发生的本身并没有太多的联系,但是因为是在docker创建容器的操作之内发生的,所以记录以下 因为网上有些文章有些作者喜欢使用git的命令窗体,说实在的,公司里面用 ...

  5. docker 创建容器时指定容器ip

    Docker创建容器时默认采用bridge网络,自行分配ip,不允许自己指定. 在实际部署中,我们需要指定容器ip,不允许其自行分配ip,尤其是搭建集群时,固定ip是必须的. 我们可以创建自己的bri ...

  6. docker 创建容器时遇到的坑

    坑一.时区问题 在创建系统镜像时,比如centos,会默认最小安装,并且时区默认的是UTC 所以在下好centos的原始镜像后,最好再重新构建一个新的镜像 # 命令 docker pull cento ...

  7. 关于docker创建容器报错-docker: Error response from daemon: runtime "io.containerd.runc.v2" binary not installed

    今天在对一台服务器(docker相关的业务服务器)进行OS补丁时,默认使用的 yum update -y 对所有的安装包进行了升级 升级完成后,让应用方检查确认应用及功能是否一切正常,如果不正常,严重 ...

  8. docker 清理容器的一些命令,彻底或选择清理

    越往下的,越要慎重 列出无用的卷 docker volume ls -qf dangling=true 清理无用的卷,容器,镜像 docker volume rm $(docker volume ls ...

  9. Docker创建容器

    容器是镜像的一个运行实例,是基于镜像运行的轻量级环境,是一个或者一组应用. 怎样创建容器?将容器所基于的镜像名称传入即可,Docker会从本地仓库中寻找该镜像,如果本地仓库没有,则会自动从远程仓库中拉 ...

随机推荐

  1. MySQL5.7中的sql_mode默认值

    简介 在正常项目开发过程中,如果MySQL版本从5.6升级到5.7版本.作为DBA在考虑数据库版本升级带来的影响时,一般会有几个注意点: sql_mode 默认值的改变 optimizer_switc ...

  2. jenkins安装及配置-centos6.9

    Jenkins安装及配置 目录 1.安装java. 2 1.1安装说明... 2 1.2创建java目录... 2 1.3下载并解压... 2 1.4设置环境变量... 2 1.5验证JDK有效性.. ...

  3. tidb在DDL语句方面的测试

    Mysql与tidb测试数据为8000万行. 1.修改一个字段的列名,比如将“ctime”修改为“cctime”. Tidb测试: MySQL测试: 2.同一属性之间切换,即修改一个字段的属性大小.比 ...

  4. Python之对象的永久保存模块---pickle

    经常遇到在Python程序运行中得到了一些字符串.列表.字典等数据,想要长久的保存下来,方便以后使用,而不是简单的放入内存中关机断电就丢失数据. 这个时候Pickle模块就派上用场了,它可以将对象转换 ...

  5. January 13th, 2018 Week 02nd Saturday

    Anyone who has no spiritual aspirations is an idiot. 任何没有精神追求的人都是愚昧无知的人. Today I went to a bookshop ...

  6. RBAC权限管理系统数据模型

    懒得多写了,懂的看建表脚本就懂了... -- ---------------------------- -- Table structure for ucb_user -- ------------- ...

  7. 请教MAC OS下PHP的mcrypt怎么安装

    安装方法一: 通过Homebrew安装mcrypt,安装成功 [Shell] 纯文本查看 复制代码 brew install mcrypt MCrypt是一个功能强大的加密算法扩展库,它包括有22种算 ...

  8. 为什么MySQL数据库索引选择使用B+树?

    在进一步分析为什么MySQL数据库索引选择使用B+树之前,我相信很多小伙伴对数据结构中的树还是有些许模糊的,因此我们由浅入深一步步探讨树的演进过程,在一步步引出B树以及为什么MySQL数据库索引选择使 ...

  9. centos7下安装docker(12.1bridge网络)

    容器默认使用的时bridge网络 docker安装时会创建一个 命令为docker0的linux bridge.如果不指定--network=,运行的容器会默认挂到docker0上 interface ...

  10. mysql排序索引优化

    为排序使用索引 KEY a_b_c (a,b,c) order by 能使用索引最左前缀 -order by a -order by a,b -order by a,b,c -order by a d ...