示例:
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 容器名字 自己起的镜像名字



