docker 笔记
查找官方仓库中的镜像:docker search redis
下载到本地:docker pull redis:latest
列出已经下载的镜像:docker images
启动容器:docker run -d -p 6379:6379 docker.io/redis或者 41a54fe1f79d
进入容器:docker exec -it cef0d139bfd6 /bin/ bash
退出容器:exit
查看运行中的容器:docker ps
查看所有的容器:docker ps -a
停止容器:docker stop 容器 id 或容器名称
开启容器:docker start 容器 id 或容器名称
重启容器:dockers restart 容器 id 或容器名称
删除容器:docker rm 容器 id 或容器名称 (删除容器时,容器必须是停止状态,否则会报错)
删除镜像:docker rmi redis:latest
强制删除镜像:docker rmi -f redis:latest
停用全部运行中的容器:docker stop $(docker ps -q)
删除全部容器:docker rm $(docker ps -aq)
一条命令实现停用并删除容器:docker stop $(docker ps -q) & docker rm -f $(docker ps -aq)
查看容器完整启动命令
docker ps -a --no-trunc
查看cpu、内存使用情况
docker stats --no-stream
1、删除镜像
docker rmi -f id
2、查看所有镜像
docker images
3、查看运行的镜像
docker ps -a
4、进入到镜像当中去
docker run -it 59788edf1f3e
docker start 3d72d0283dc8 根据id起容器
docker run --name mycontainer -i -t ubuntu /bin/bash
每个容器都有一个唯一的ID,作为容器的标识。每个容器也有个唯一的名称,在用docker run命令创建时可以通过 --name 名称 来指定,如果不指定,系统会自动产生一个名称
5 将容器修改后保存为新的镜像
docker commit -m="描术" -a="作业" 容器id 镜像名称
6 构建镜像,比如你已经将dockerfile编写好了,如下:
FROM openjdk:17
# 设置环境变量TZ
ENV TZ=Asia/Shanghai
# 配置时区
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
WORKDIR /app
CMD ["java", "-jar", "app.jar","-Dfile.encoding=utf-8"]
构建镜你
docker build -t myjdk:17 .
容器
1、进入容器
docker attach 44fc0f0582d9
2、进入一个已经在运行的容器
docker exec -it 775c7c9ee1e1 /bin/bash
用root权限进入
docker exec -it --user=root f939f8e98c5b /bin/sh
3、启动容器
docker run emqx/emqx:v4.0.0
docker run -dit --name=blackhole ec96227f446b /bin/bash
启动容器,并执行容器内的启动脚本,必须要tail后的命令
docker run -dit --name=jdk8 -v /home/jd:/home/jd -p 8080:8080 224e95c048c1 /bin/bash -c "/home/jd/start.sh && tail -f /dev/null"
4、查看容器日志
docker logs 5f3fba6aa3d4
5、将宿主机目录/test 挂载到容器内/soft目录
docker run -dit -v /test:/soft 容器名 /bin/bash
6、导出容器
docker save -o nginx.tar nginx:latest
7、导入镜象
docker load -i aaa.tar 或docker load <aaa.tar
8 关闭iptables,并兼容firewalld
(1) vi /etc/docker/daemon.json
添加
{
"iptables": false
}
(2)执行 ifconfig 将docker0网卡添加到对应的zone当中,执行
firewall-cmd --permanent --zone=public --change-interface=docker0
然后,重新加载防火墙及docker
firewall-cmd --reload
service docker restart
(3)额一个查询命令,查询DOCKER表并显示规则编号
iptables -L DOCKER -n --line-number
专注JAVA系统优化、系统结构调整、系统问题排查医治、系统升级、架构设计、SQL语句优化、小程序、APP、企业应用软件开发,请 + hekf888,欢迎关注,时常发布技术分享博文