docker run -d
docker run -d 容器名或容器ID
docker run -d 后台生成容器,并退出容器(除容器中在运行脚本)
docker run -it 交互生成容器
docker run -d centos /bin/sh -c “while true; do echo zen; sleep 2;done”
查看容器中的进程
docker top 容器名或容器ID
查看容器内部细节
docker inspect 容器ID
重启进入容器
- docker attach 容器ID 此时的容器必须是启动的状态,如何容器停止,需要 docker start 容器id
直接进入容器启动命令的终端,不会启动新的进程
连接一个正在执行的容器
docker attache 容器名或容器ID
相当于 远程电脑,
在连接到容器后执行一个命令
- docker exec [OPTIONS] CONTAINER COMMAND [ARG…]
命令用于在正在运行的Docker容器中执行命令。使用该命令,可以在不需要进入容器的情况下,在容器内部执行一些命令。
是在容器中打开新的终端,并且可以启动新的进程(因为可以执行命令,所有可以启动新的进程)
把容器中的内容拷贝到宿主机
在宿主机中执行 docker cp
docker cp 容器ID:xxx路径内容 宿主机路径
把宿主机的内容拷贝到容器中
在宿主机中执行 docker cp
docker cp 宿主机路径:xxx路径内容 容器ID:路径
ERRO[0000] error waiting for container: context canceled
解决方案:
systemctl restart docker
案例 运行 nginx
1 拉取 nginx
docker pull nginx
2、查看镜像
docker images
2、生成实例 运行 nginx 默认的端口是80
docker run -it -p 8090:80 nginx
或者 docker run -it -P nginx
或 docker run -d -p:8090:80 nginx
-d: 后台运行
-P: 随机端口映射,容器内部端口随机映射到主机的端口
-p: 指定端口映射,格式为:主机(宿主)端口:容器端口
-p 指定端口映射
-P 不需要指定
2、访问
http://localhost:8090
构造镜像
docker commit 从容器创建一个新的镜像;
我们可以通过公共仓库拉取镜像使用,但是,有些时候公共仓库拉取的镜像并不符合我们的需求。尽管已经从繁琐的部署工作中解放出来,但是实际开发时,我们可能希望镜像包含整个项目的完整环境,在其他机器上拉取打包完整的镜像,直接运行即可。
docker commit [选项] 容器ID [镜像名:版本标记]
xuan:
-a :作者
-m : 描述信息
docker build 创建镜像
docker build:配合 Dockerfile 文件创建镜像。
docker build -f dockerfile文件路径 -t 命令空间 . ### 后面有个点