- docker 基本命令
sudo docker ps # 查看正在运行的容器,NAMES列为容器名 sudo docker ps -a -q(表示只返回容器的ID) # 查看所有的容器 sudo docker inspect container_id # 查看container详情 sudo docker images # 查看本地镜像 sudo docker run / stop --help container_id # 从镜像中运行停止一个新实例 sudo groupadd docker # 把当前用户加到docker组 ==》 改完之后需要重新登录用户 sudo docker --version # 查看安装的docker服务器版本 docker pull 镜像名字 # 下载镜像 docker run -i -t 镜像名字 -v 宿主机文件夹:容器需共享的文件夹 --name 容器名字 -p 主机(宿主)端口:容器端口 /bin/bash # -p: 指定端口映射,以镜像名:ubuntu:15.10 运行一个容器,并以交互模式进入 docker run -d 镜像名字 # 以镜像名字后台运行一个容器,返回容器ID docker exec -i -t 容器名(或者容器ID) /bin/bash # 交互式进入正在运行的容器中 exit # 退出容器(进入容器中之后) docker restart 容器名称或者容器id # 可重启已经停止的容器,里面的由之前运行生成的数据不会丢失 docker logs [-f]【container】 # 查看某个container的运行日志 docker commit [container] [image_name] # 将container保存为一个image docker push [image_name] # 将image上传到仓库 docker info # 查看机器的容器和镜像情况 docker top 【container】 # 查看容器内部的进程信息
- 先删除以该镜像创建并运行的容器,再删除镜像
docker stop 容器ID # 停止运行的容器 docker rm 容器ID # rm 先删除停止的容器 docker rmi 镜像ID # rmi 再删除容器,否则直接删除镜像会报错 docker stop $(docker ps -a -q)” 用来停止停止所有的container
- 容器拷贝
1、从容器里面拷文件到宿主机? 格式:docker cp 容器名:要拷贝的文件在容器里面的路径 要拷贝到宿主机的相应路径 示例: 假设容器名为testtomcat,要从容器里面拷贝的文件路为:/usr/local/tomcat/webapps/test/js/test.js, 现在要将test.js从容器里面拷到宿主机的/opt路径下面,那么命令应该怎么写呢? 示例命令:docker cp testtomcat:/usr/local/tomcat/webapps/test/js/test.js /opt 2、从宿主机拷文件到容器里面 格式:docker cp 要拷贝的文件路径 容器名:要拷贝到容器里面对应的路径 示例:假设容器名为testtomcat,现在要将宿主机/opt/test.js文件拷贝到容器里面的/usr/local/tomcat/webapps/test/js路径下面,那么命令该怎么写呢? 示例命令:docker cp /opt/test.js testtomcat:/usr/local/tomcat/webapps/test/js 3、需要注意的是,不管容器有没有启动,拷贝命令都会生效。
- 容器优缺点
1、优点(build once, run anywhere): 1)、创建容器实例快,升级回滚快(部署相应版本的容器便可),易版本控制 2)、跨平台部署,可移植性好 3)、持续集成与测试 4)、隔离性、安全性、高资源利用率 2、缺点: 1)、容器版本多,管理复杂(可使用Kubernetes 管理) 2)、在windows环境下运行差,在Linux下运行较好