docker笔记

docker version # 查看docker当前版本
docker info # 查看docker信息
docker ps # 列出当前系统里运行的容器,-a 列出未启动的容器
docker search 镜像名 # 从远程搜索镜像
docker pull 镜像名 # 从远程仓库拉取指定镜像
docker images # 列出当前所存储的镜像
docker run 镜像名 # 启动一个镜像
# -it 暂时离开当前操作系统,进入容器内部
# -d,让容器在后台执行
# --name,为容器起一个名字
# --rm,表示docker不保存容器,运行完毕就会删除
# -v /tmp:/tmp,表示把本机的/tmp目录挂载到容器里的/tmp目录,让容器共享宿主机的/tmp目录
# --net=bridge,Docker提供了三种网络模式,null没有网络,host直接使用宿主机网络,默认是bridge,桥接模式
# -p 80:80,端口映射需要在bridge模式,本机端口映射容器端口,bridge模式有内置的虚拟网卡,能解决端口冲突
docker rmi image_Id # 删除镜像
docker rm container_id # 删除容器
docker exec -it container_id # 在容器内执行另一个程序
docker start # 启动已经停止的容器
docker stop container_id # 停止一个容器,container_id为容器id
docker inspect image_id # 查看镜像分层
docker build -f Dockerfile.busybox . # 构建镜像
# -f为指定Dockerfile文件名,后面必须跟上文件路径,叫构建上下文
docker tag test-app lawtest/test.app:1.0 # 给ngx-app镜像打上标签,lawtest为docker hub镜像用户名
docker push lawtest/ngx.app:1.0 # 镜像发布到 docker hub
docker save test-app:latest -o test.tar # 将镜像导出压缩包,-o 指定文件名称
docker load -i test.tar # 从压缩包导入docker,-i 指定文件名称
docker cp a.txt 062:/tmp # 将当前目录的a.txt文件拷贝进容器ID为062的/tmp目录中
docker cp 062:/tmp/a.txt ./b.txt # 将容器内/tmp/a.txt文件拷贝到宿主机当前目录

run容器

docker run --detach --hostname gitlab.xxx.com --publish 444:443 --publish 81:80 --publish 23:22 --name gitlab --restart always --volume /srv/gitlab/config:/etc/gitlab --volume /srv/gitlab/logs:/var/log/gitlab --volume /srv/gitlab/data:/var/opt/gitlab 5d8ab6b06918

  • --hostname :指定容器中绑定的域名,会在创建镜像仓库的时候使用到,这里绑定gitlab.xxx.com
  • --publish:端口映射;容器内的443,80,22端口分别映射到宿主机的444,81,23端口
  • --volume :挂载数据卷,映射到容器中去的容器外部存储空间
  • 5d8ab6b06918 :镜像的ID
  • --name 为容器指定一个名称
  • -i:以交互模式运行容器,通常与 -t 同时使用
  • -t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用
  • -d: 后台运行容器,并返回容器ID
当地的位置 容器的位置 作用
/srv/gitlab/config /etc/gitlab 用于存储GitLab配置文件
/srv/gitlab/logs /var/log/gitlab 用于存储日志
/srv/gitlab/data /var/opt/gitlab 用于存储应用数据

docker常用命令

命令 作用
docker ps 查看正在运行的容器
docker ps -a 查看全部容器
docker pull trainging/webapp 拉取镜像
docker rmi 删除images,通过image的id来指定删除谁
docker run 启动一个容器
docker stop wizardly_chandrasekhar 停止容器
docker start wizardly_chandrasekhar 重启容器
docker rm wizardly_chandrasekhar 移除容器(删除容器时,容器必须是停止状态,否则会报错)
docker port bf08b7f2cd89 查看指定容器网络端口
docker exec -it 13bfd2asf /bin/bash 进入容器

上传文件

docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH

OPTIONS说明:

-L :保持源目标中的链接

上传文件实例

docker cp /root/test.txt ecef8319d2c8:/root/

该命令的意思是将当前操作系统(CentOS)家目录(root)下的文件test.txt拷贝到容器id为ecef8319d2c8的家目录(root)文件夹下。

下载文件

docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|-

下载文件实例

docker cp ecef8319d2c8:/root/test.txt /root/
posted @ 2019-08-01 15:09  牛奔  阅读(199)  评论(0编辑  收藏  举报