美文网首页
docker常用命令

docker常用命令

作者: test小星星 | 来源:发表于2019-06-09 14:57 被阅读0次

docker官方镜像地址

镜像常用操作命令

# docker 帮助文档
docker  --help
  1. pull拉取镜像
# 拉取jenkins最新版
docker pull jenkins  
# 拉取 指定版本
docker pull Jenkins:指定版本号
  1. images列出当前主机所有的docker镜像
# 列出所有镜像
docker images
# 列出所有镜像(含中间镜像层)
docker images -a 
# 只列出镜像id
docker images -q
# 显示全镜像的摘要信息
docker images --digests
# 显示完整的镜像id
docker images --no-truec 

2.1 search 搜索镜像

# 搜索nginx镜像
docker search nginx
# 过滤 stars 大于3的nginx镜像
docker search nginx --filter=stars=3
# 只列出automated build类型的镜像
docker search nagin --automated
  1. rmi删除镜像
docker rmi jenkins:指定版本号
# -f 强制删除(默认如果这个镜像已经有容器在运行无法删除)
docker rmi -f jenkins 
# 删除多个
docker rmi -f jenkins nginx
# 删除全部
docker rmi -f $(docker  images -qa)

4.tag对镜像新建一个版本号或者说是新建一个引用

docker tag 镜像名:当前版本号 新镜像名:新的版本号
  1. save (导出)将本地镜像打包成tar包,可以传给其他人使用
docker save jenkins/jenkins(镜像名):版本号 > myjenkins(包名).tar
  1. load (导入)将生成的tar包安装到docker
docker load < myjenkins.tar

容器命令

run 创建并启动docker容器

  • 常用参数
  • -d 在后台启动,就算关闭窗口也不会终止进程 。
  • --name 自定义启动容器名称。
  • -p 将宿主机的端口号映射到容器的端口.意思就说当你访问宿主机的8000端口时,会转发到容器的8080端口中。
  • -v 挂载,将宿主机到某个路径挂载到容器存放数据的某个路径上,这样就算容器挂了数据也不会丢失。 这里有个坑如果宿主机挂载的路径有权限要求,可以执行 sudo chown -R 1000:1000 /home/docker/jenkins(被挂载的宿主机路径)
  • --env-e 传递环境变量,可以理解为启动容器时给容器传的参数,用来配置容器,具体配置项可以到docker-hub官方镜像文档查看
  • --network 设置网络模式,默认是网络端口映射模式
    • --network host 使用宿主机的网络,不用使用-p映射端口了。如果本地容器过多都使用这种模式会有广播风暴到风险
  • --link 将两个容器连接到一起,实现互相通信
  • -i 以交互模式运行容器,通常与-t同时使用
  • -t 为容器重新分配一个伪终端(可输入命令的控制台)
docker run -d --name testjenkins(指定容器名称) jenkins(启动的镜像) -p 8000:8080 
-v /your/home:/var/jenkins_home
# --network 设置网络模式,默认是网络端口映射模式
# --network host 使用宿主机的网络,不用使用-p映射端口了。
docker run -d --name testjenkins(指定名称) --network host jenkins(启动的镜像) 
# --link
docker run -d --name mariadb -e ALLOW_EMPTY_PASSWORD=yes -e MARIADB_USER=bn_testlink -e MARIADB_DATABASE=bitnami_testlink -v /home/gaofei/test/mysql:/var/lib/mysql -p 8088:3306 bitnami/mariadb:latest
docker run -d --name testlink -p 8099:80 -p 444:443 -e ALLOW_EMPTY_PASSWORD=yes -e TESTLINK_DATABASE_USER=bn_testlink -e TESTLINK_DATABASE_NAME=bitnami_testlink --link mariadb bitnami/testlink:latest


ps 查看当前docker启动的容器信息

docker ps -s -a -q
# -s 启动容器占用磁盘空间的大小和镜像的大小
# -a 查看所有容器包括未启动的容器
# -q 只显示容器id

rm 删除容器

docker rm testjenkins(容器名称)
# 注意需要将容器停止才能删除
# 参数-f 强制删除 这样可以不用停止容器也可以删除

# 删除全部容器
docker rm -f $(docker ps -qa)

stop结束容器

docker stop testjenkins

start启动容器

docker start testjenkins

kill 杀死容器

docker kill testjenkins(容器名称)

logs查看docker启动容器的日志

docker logs -tf testjenkins(容器名称)
# -f 持续的实时的跟踪日志 相当于liunx的tail -f 查看日志
# -t 打印时间

top 查看容器内运行的行程号

docker top 容器id

inspect 查看容器的配置信息

docker inspect testjenkins(容器名称)

info查看docker的基本信息

docker info

与容器交互命令

exec 登陆到某个容器内,在容器里面运行命令。相当于远程连接某个虚拟机上

# 直接在宿主机执行容器内的命令
docker exec -t "容器id" 容器内部命令
docker exec -t "j2h1kj3h21" ls -l /tmp
# 进入到容器内部执行命令
docker exec -it testjenkins(容器名称) bash
# it 启动一个新的虚拟交互shell窗口
# bash 使用bash交互模式

exit 退出容器

exit

cp 将宿主机的文件拷贝到容器内,或者将容器内的文件拷贝到宿主机

# 将宿主机的文件拷贝到容器
docker cp 宿主机文件路径 容器名称:复制到容器内的路径
# 实例
docker /home/a.txt testjenkins:/root/  # 复制到容器的root目录下
# 将容器的文件复制到宿主机
docker cp 容器名称:文件路径 宿主机路径
docker cp testjenkins:/root/a.txt /home/  # 复制到宿主机的home目录下

相关文章

网友评论

      本文标题:docker常用命令

      本文链接:https://www.haomeiwen.com/subject/gilexctx.html