docker命令备忘
参考:
https://blog.csdn.net/dongdong9223/article/details/52998375
查看当前正在运行的容器(可以添加-l,-a选项)
docker container ls
删除Exited状态的所有容器
docker rm `docker ps -a | grep Exited | awk '{print $1}'`
从docker中拷贝文件到宿主机
docker cp dockerid:源文件路径 宿主机目标路径
docker 容器中mount宿主机里的目录
docker run --mount src=宿主目录,target=容器中的目录,type=bind --privileged -dt --cap-add SYS_ADMIN --security-opt seccomp:unconfined -td image:version
进入运行中的docker容器
docker exec -it 容器id /bin/bash
离开bash
Ctrl+D
拉镜像
docker pull ip:port/tag:version
从当前目录下的Dockerfile构建镜像
docker build -t tag:version .
删除构建后的临时镜像(https://blog.csdn.net/whatday/article/details/104048064 docker 不使用缓存重建镜像)
docker rmi -f `docker images | grep '<none>' | awk '{print $3}'`
列出本地存在的所有镜像
docker images
运行镜像
docker run tag:version
->
docker run -d tag:version
->
docker run --privileged -dt --cap-add SYS_ADMIN --security-opt seccomp:unconfined tag:version
容器的依稀启动报错:
- Failed to determine whether /sys is a mount point:(https://bugzilla.redhat.com/show_bug.cgi?id=1443922,https://github.com/solita/docker-systemd/issues/1)
--cap-add SYS_ADMIN --security-opt seccomp=unconfined
- Failed to mount tmpfs at /run(https://blog.csdn.net/wangctes/article/details/92740919)
--privileged
停止某一容器
docker stop 容器id
启动容器时指定重启策略(https://blog.csdn.net/wucl202000/article/details/105506556)
docker run --restart=always -d nginx
更新已存在容器重启策略
docker update --restart=always 7aab
查看容器的日志(https://blog.csdn.net/whatday/article/details/104136405 docker logs 查看docker容器日志)
docker logs --since 30m 容器id
问题:"docker:Error response from daemon: Get https://registry-1.docker.io/v2/"处理
修改/etc/docker/daemon.json中的insecure-registries,并且执行systemctl restart docker
(https://stackoverflow.com/questions/49674004/docker-repository-server-gave-http-response-to-https-client)
Docker增加端口(https://blog.csdn.net/weixin_43866211/article/details/103509513/https://blog.csdn.net/liu865033503/article/details/100120113/ https://juejin.cn/post/6844903849451323399 )-- (iptables -t nat -vnL)
-p port:port 多端口需要多个-p
docker: 为运行的container增加多个端口(https://blog.csdn.net/sgs595595/article/details/70230384)
docker ps -a
docker stop test01
docker commit test01 test02
docker run -p 8080:8080 -p 80:80 -td test02
docker update --restart=always 0576df221c0b
Dockerfile编写中的一些关键字
- EXPOSE -- https://blog.csdn.net/u012972836/article/details/83380220
- FROM --指定基于哪个基础镜像,必须为第一个命令 (参考:Dockerfile文件详解 https://blog.csdn.net/u011781521/article/details/80464065)
- COPY --功能类似ADD,但是是不会自动解压文件,也不能访问网络资源URL
- WORKDIR --工作目录,类似于cd命令
- RUN -- 构建镜像时执行的命令
- ENV --设置环境变量,它主要是为后续的RUN指令提供一个环境变量
关于Dorkerfile编写的一些其他链接
- Dockerfile 修改sources.list源 https://blog.csdn.net/BigData_Mining/article/details/87869361
- 使用Dockerfile创建docker镜像及Dockerfile命令详解 https://blog.csdn.net/u012834750/article/details/79979557
- 使用Docker创建镜像的三种方法 https://blog.csdn.net/Apeopl/article/details/105449362
- 使用Dockerfile创建镜像,创建容器并运行 https://blog.csdn.net/dongdong9223/article/details/83059265
- 点赞
- 收藏
- 关注作者
评论(0)