Docker 创建容器以及管理命令(三)

时间:2021-11-27 13:59:48

1. 创建 Apache 容器

[root@centos7 ~]# docker run -d -p : httpd
// -d: 放入后台运行
// -p: 指定端口映射关系(第一个为本地端口、第二个为容器端口)

Docker 创建容器以及管理命令(三)

2. 创建 Nginx 容器

[root@centos7 ~]# docker run -d -p : nginx

// 将本地的 8080 端口映射到容器的 80 端口;

Docker 创建容器以及管理命令(三)

3. 查看容器

[root@centos7 ~]# docker ps -a

// docker ps 命令时查看运行中的容器
// -a 选项是查看所以容器(不论容器属于什么状态)

Docker 创建容器以及管理命令(三)

4. 测试容器是否启动成功

测试HTTP服务80端口:

Docker 创建容器以及管理命令(三)

测试nginx服务8080端口:

Docker 创建容器以及管理命令(三)

5. 查看 docker 标准输出

[root@centos7 ~]# docker ps -a
[root@centos7 ~]# docker logs “容器ID”

Docker 创建容器以及管理命令(三)

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

Docker 创建容器以及管理命令(三)

7. 删除容器

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

Docker 创建容器以及管理命令(三)

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

Docker 创建容器以及管理命令(三)

10.进入容器修改内容

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

Docker 创建容器以及管理命令(三)

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

Docker 创建容器以及管理命令(三)

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

测试:

Docker 创建容器以及管理命令(三)

11. 查询容器详细信息

[root@centos7 ~]# docker inspect “容器ID”

Docker 创建容器以及管理命令(三)

12. 复制本地文件到容器中

[root@centos7 ~]# docker cp /etc/profile 容器ID:/root
[root@centos7 ~]# docker exec -it f15 /bin/bash // “f15” 是容器的省略ID

Docker 创建容器以及管理命令(三)

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 关闭安全权限,否则你容器操作文件夹没有权限

Docker 创建容器以及管理命令(三)

测试目录是否挂载成功:

# 在本地挂载的目录下创建一个文件,我这里创建的是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 创建容器以及管理命令(三)

这是一些Docker的简单而常用的命令,更多命令可以使用“--help”来了解使用。