1. 创建 Apache 容器
[root@centos7 ~]# docker run -d -p 80:80 httpd
// -d: 放入后台运行 // -p: 指定端口映射关系(第一个为本地端口、第二个为容器端口)
2. 创建 Nginx 容器
[root@centos7 ~]# docker run -d -p 8080:80 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” 80/tcp -> 0.0.0.0:80
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 80:80 -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 24 /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”来了解使用。