Docker 命令集合
docker imgaes 命令可用列出本地主机上已有的镜像
docker inspect ID(镜像的ID) 获取该镜像的详细信息
docker rmi IMAGE(标签或ID) 删除镜像
-m “”提交信息
-a “”作者信息
-p “”提交时暂停容器运行
docker commit -m -a ID message
docker save 和 docker load 存入和载出镜
docker save -o xxx.tar REPOSITORY
docker load --input xxx.tar
docker push NAME[:TAG] 上传镜像到仓库
docker tag test:latest user/test:latest
docker push user/test:latest
docker create 创建一个新的容器
docker create -it xx:latest
# 使用docker create 命令新建的容器处于停止状态,可以使用docker start 命令启动它
docker run 新建并启动容器 等价于 先执行docker create ,在执行docker start
docker run centos /bin/echo 'hello world'
启动bash终端命令,允许用户进行交互
docker run -t -i centos /bin/bash
用户可以按Ctrl+d或输入exit命令来退出容器
当使用exit命令退出之后,该容器就自动处于终止状态。更多时候为了让Docker容器在后台以守护态(Daemonized)形式运行,用户可以通过添加-d参数来实现。例如下面的命令会在后台运行容器
docker run -d centos /bin/sh -c "while true; do echo hello world; sleep 1; done"
要获取容器的输出信息,可以通过 docker logs 命令;
docker logs ID
使用docker stop来终止一个运行的容器
docker stop ID
可以使用docker ps -a -q命令查看看到处于终止状态的容器的ID信息
对呀处于终止状态的容器,可以通过docker start命令来重新启动:
docker start ID
进入容器:
attach命令:
docker attach 时docker自带的命令
docker attach NAMES
exec 命令,可以直接在容器内运行命令。
docker exec -ti ID /bin/bash
删除容器:
可以使用docker rm ID删除终止的容器;
如果要删除一个运行中的容器,可以添加-f参数:docker rm -f ID
导出容器:导出一个已经创建的容器到一个文件,不管此时的容器是否处于运行状态。
docker export ID >XXX.tar
可将这些文件传输到其他机器上,在其他机器上通过导入命令实现容器的迁移。
导入容器:
导出的文件可以使用docker import 命令导入,成为镜像
cat XXX.tar | docker import - XXXXX
容器是直接提供应用服务的组件,也是docker快速实现的启动停止和高效服务性的基础
仓库(repository)是集中存放镜像的地方
在centos7的docker容器里面不能用service启动服务。
systemctl start sshd
报错内容:Failed to get D-Bus connection: Operation not permitted。
报这个错的原因是dbus-daemon没能启动。systemctl并不是不能使用。将CMD或者entrypoint设置为/usr/sbin/init即可。docker容器会自动将dbus等服务启动起来。
如下:
docker run -tdi --privileged mycentos init
拷贝本地文件到docker容器
docker cp 本地路径 容器长ID:容器路径
删除所有容器:
docker stop $(docker ps -q) & docker rm $(docker ps -aq)
端口映射:
docker run -itd -p X(未被占用的端口):5000 --name mycontainer --privileged sysumycentos init