Docker镜像命令
帮助命令
docker version # 显示docker版本信息
docker info #查看docker的系统信息,包括镜像和容器的数量
docker 命令 --help #帮助命令
systemctl start docker
镜像命令
docker images # 查看所有本地的主机上的镜像
docker search centos # 搜索镜像
docker pull centos[:tag] # 下载镜像默认下载最新版本Latest
docker rmi centos # 删除镜像
docker rmi -f 镜像id # 强制删除
docker tag 镜像id 镜像名:tagname # 更改镜像名称
容器命令
docker run -it -p 3344:5000 image_name:v1 # 进入容器
docker run -it --restart always -p 3344:5000 image_name:v1 # 容器异常后自启动
docker ps # 列出正在运行的容器
docker ps -a # 列出正在运行的容器 + 历史运行过的容器
docker rm 容器id # 删除指定容器
docker rm -f 容器id # 强制删除正在运行指定容器
docker start 容器id # 启动指定容器
docker restart 容器id # 重启指定容器
docker stop 容器id # 停止当前正在运行的容器
docker kill 容器id # 强制停止当前容器
docker logs 容器id # 查看容器日志
docker attach 容器id # 再次进入容器,从正在运行的端口进入
docker exec -it 容器id bash # 新开一个端口进入容器
ps -ef # 查看容器中正在运行的进程
ps -aux # 查看容器中正在运行的进程
kill pid # 关闭进程
# 将容器封装成镜像
docker commit -a "Ove" -m "HG_NER" 容器id flask_hgner:v1
# 镜像打包保存至本机
docker save -o flask_hgner.tar flask_hgner:v1
# 镜像从本地加载
docker load<flask_hgner.tar
# 若报以下错误,或者加载的镜像名为<none>
# open /data/mdocker/tmp/docker-import-995560747/repositories: no such file or directory
cat flask_hgner.tar | docker import - 镜像名:tag
基于Dockerfile制作文件
# Dockerfile 代码
FROM images_a:v1.0
WORKDIR /
CMD ["sh", "start.sh"]
# 新镜像制作
docker build -t images_b -f Dockerfile .
# 新镜像启动命令
docker run -d -p xxxx-out:xxxx-in images_b
重命名
# 镜像重命名
docker tag IMAGEID(镜像id) REPOSITORY:TAG(镜像名:标签)
# 如:
docker tag 4a7xxxxxx image_name:latest
# 容器重命名
docker rename 容器id 新容器名
文件写存
# 将本地服务器文件导入容器中
docker cp sourcefile.txt ab8647a6dfc0:/root
# 将容器中文件拉入本地服务器
docker cp ab8647a6dfc0:/root/sourcefile.txt /root/ove
Docker挂载本地目录
Docker容器启动的时候,如果要挂载宿主机的一个目录,可以用-v参数指定。
比如启动一个centos容器,宿主机的/test目录挂载到容器的/soft目录,可通过以下方式指定:
docker run -it -v /data/xxx/demo:/root/demo centos /bin/bash
在容器启动后,容器内会自动创建/root/demo的目录。
注意:
1、容器目录不可以为相对路径,必须以下斜线“/”开头。宿主机的目录最好也是绝对路径。
2、挂载宿主机已存在目录后,在容器内对其进行操作,报“Permission denied”。可通过指定–privileged参数来解决:
docker run -it --privileged=true -v /data/xxx/demo:/root/demo centos /bin/bash
参考:Docker挂载本地目录