示例:
docker run -it --name=mycentos centos:7 /bin/bash(交互式容器)
run: 创建容器
-it: (交互式容器)运行容器 并 表示容器启动后会进入其命令行,加入这两个参数后,容器创建就能登录进去到容器里面
–name: 容器名字
centos:7 镜像名字:版本(用哪个镜像创建容器)
/bin/bash: 容器创建完后要进入容器,容器相当于简单的操作系统,输入这个可在容器里面使用Linux命令,操作编辑容器内的文件等…
docker run -id --name=mycentos2 centos:7 /bin/bash(守护式容器)
-id: 守护式容器
docker run -di -v /usr/local/myhtml:/usr/local/myhtml --name=mycentos2 centos
-v: 进行目录挂载(后面追加目录 宿主机目录 :容器目录)
最后的是镜像
docker run -id --name=java102-mysql mysql:5.7 -e MYSQL_ROOT_PASSWORD=123456 -p 33306:3306
-e:附加参数(用户名和密码)
-p:绑定映射端口 宿主机端口 :容器端口
docker run -di --privileged=true --name=tomcat -p 9000:8080 -v /usr/local/myhtml:/usr/local/tomcat/webapps silentheartbeat/tomcat8-jre8
–privileged=true: Linux权限很严格,加这个可以在目录挂载时有权限访问
docker run -d --name tracker --net=host morunchang/fastdfs sh tracker.sh
–net=host:
创建的容器与宿主机公用一个网络和端口号
morunchang/fastdfs
镜像名称
sh:
用哪一个脚本去启动(FastDFS里面有两个脚本,一个tracker,一个storage)
docker run -d --name storage --net=host -e TRACKER_IP=192.168.211.132:22122 -e GROUP_NAME=group1 morunchang/fastdfs sh storage.sh
-e:
附加参数(告诉storage tracker的IP地址:目的是让storage注册到tracker里面 后面跟的是storage组名)
sh:
用哪一个脚本去启动(FastDFS里面有两个脚本,一个tracker,一个storage)
docker update --restart=always tracker<–(容器名)
docker update --restart=always storage<–(容器名)
开机启动容器
友情提示:
开机启动只是Docker,并不是开机启动容器(有开机启动容器的命令)
Docker所有命令都是以 docker 开头
镜像帮助网址: https://mirrors.ustc.edu.cn/help/
Docker官网镜像下载(国外):https://hub.docker.com/search?image_filter=official&type=image
国内镜像地址: https://z2ksjlvx.mirror.aliyuncs.com
Docker命令:
启动Docker: systemctl start docker
停止Docker: systemctl stop docker
重启Docker: systemctl restart docker
查看docker状态: systemctl status docker
开机启动(虚拟机开机运行): systemctl enable docker
镜像相关:
查看docker概要信息: docker info
查看docker帮助文档(命令): docker --help
列出docker下的所有镜像: docker images(可追加 --help 按条件列出镜像)
镜像所在仓库名称: docker repository
镜像标签: docker tag
镜像ID: docker image id
镜像创建日期: docker created(指官方什么时候将镜像上传到中央仓库的时间)
镜像大小: docker size
将宿主机的文件拷贝到容器里面: docker cp (也可反向) 格式:(docker cp 需要拷贝的文件或目录 容器名称:容器目录)
删除一个镜像: docker rmi(可追加版本号指定/不指定删除最新的)
删除所有镜像: docker rmi `docker images -q`(``是ESC下的 后面是追加所有镜像的ID)
镜像备份(打包、他打包的格式 .tar) docker save -o 自己起的包名.tar 镜像名字(-o 输出 )
解压打包好的镜像: dockers load -i 包名
中央仓库搜索某个镜像: docker search 镜像名
从注册中心(中央仓库下载某个镜像): docker pull 镜像名(追加 :版本号 下载指定版本)
容器相关:
创建容器: docker create
查看容器的信息: docker inspect
强制关闭一个容器: docker kill
暂停一个容器: docker pause
重启一个容器: docker restart
删除一个容器: docker rm
删除所有容器: docker rm `docker ps -q`(``是ESC下的 后面是追加所有容器的ID)
创建并运行一个容器: docker run(可追加)追加 -i就是创建并运行
-i:表示运行容器
-t:表示容器启动后会进入其命令行,加入这两个参数后,容器创建就能登录进去。即分配一个伪终端。
--name :为创建的容器命名 格式(--name=名字)
-v:(目录挂载)表示目录映射关系(前者是宿主机目录,后者是映射到宿主机上的目录),可以使用多个-v做多个目录或文件映射。注意:最好做目录映射,在宿主机上做修改,然后共享到容器上 解释(类似共享文件夹,绑定后在宿主机上的指定文件夹添加文件,容器里也会产生这个文件)
-d:在run后面加上-d参数,则会创建一个守护式容器在后台运行(这样创建容器后不会自动登录容器,如果只加-i -t两个参数,创建后就会自动进去容器)
守护式容器:创建后不会进入容器,容器任然运行
交互式容器:如果退出容器/或者关闭会话,容器就会停止运行,
-e:附加参数(比如用户名和密码)
-p:表示端口映射,前者是宿主机端口,后者是容器内的映射端口。可以使用多个-p做多个端口映射
查看容器状态: docker status
停止一个容器: docker stop
绑定容器的端口号: docker port
列出所有的容器: docker ps(只列出正在运行的 追加--help 查看辅助命令)
将本地的镜像推送到中央仓库: docker push
为容器重命名: docker rename
退出当前进入的容器: exit(如果退出容器,容器就会停止运行,或者关闭会话,容器关闭状态不能进入)
启动一个或多个已经被停止的容器 start(追加容器名)
进入容器: docker exec -it(视频docker15 1分14秒docker)
-it:i进入运行中的容器 t进入
用exit退出容器之后是会关闭容器的。所以如果想要重新进入容器,
需要docker start [容器名],然后再docker attach [容器名]进入容器。
如果想要退出而不关闭容器:可以按Ctrl+P+Q进行退出容器 (注意是大写的P和Q),
然后再docker attach [容器名]进入容器
进入也可 docker exec -it 容器名 /bin/bash
容器挂载目录(上面有解释): docker run -di -v /usr/local/myhtml:/usr/local/myhtml --name=mycentos2 centos
创建容器 添加-v参数 后边为 宿主机目录:容器目录
容器保存为镜像: docker commit 容器名字 自己起的镜像名字