Kitematic简化了对Docker镜像的下载、启动与管理的过程,让它们可以像VMware Workstation中管理一样便捷、简单。
该项目的开放源码,源码的首发地址:https://github.com/kitematic/kitematic
下面演示如何在Linux环境中部署Kitematic(该项目原本是针对Apple OS X的程序员而设计的)
——————————————————
从【Docker Hub】上下载Image:docker pull jonadev95/kitematic-docker
下载中的状态:
下载过程中也可以查看网卡流量的变化:
它会经历三个状态:
1. Downloading
2. Download Complete
3. Pull Complete
Shell:
[adamhuan@dockerme ~]$ docker pull jonadev95/kitematic-docker Using default tag: latest latest: Pulling from jonadev95/kitematic-docker 7ccc78f8af6d: Pull complete a3ed95caeb02: Pull complete eb4feccc2d8c: Pull complete d4017db50140: Pull complete 28150d78e11d: Pull complete 02a23ed5575b: Pull complete 7ea3151be5a2: Pull complete d8375eaaf190: Pull complete 12e32a63aa41: Pull complete 6fc3d70bfd38: Pull complete 68557d43ebfc: Pull complete a8053f3a2b58: Pull complete Digest: sha256:50c98babd542d7d899e8c688033725f3246035146f102cfbb388a8c0eba7cb23 Status: Downloaded newer image for jonadev95/kitematic-docker:latest [adamhuan@dockerme ~]$
运行Docker容器:
命令:
docker run –net host –name kitematic-linux \
-v /tmp/.X11-unix:/tmp/.X11-unix \
-e DISPLAY=$DISPLAY \
-v $HOME/.Xauthority:/root/.Xauthority \
-v /tmp/.X11-unix:/tmp/.X11-unix \
-v /var/run/docker.sock:/var/run/docker.sock \
–privileged=true -t jonadev95/kitematic-docker
Shell:
[root@dockerme software]# ps -ef | grep --color docker root 12096 1 0 21:11 ? 00:01:11 /usr/bin/dockerd root 12102 12096 0 21:11 ? 00:00:00 docker-containerd -l unix:///var/run/docker/libcontainerd/docker-containerd.sock --shim docker-containerd-shim --metrics-interval=0 --start-timeout 2m --state-dir /var/run/docker/libcontainerd/containerd --runtime docker-runc root 44507 10550 0 23:14 pts/0 00:00:00 grep --color=auto --color docker [root@dockerme software]# [root@dockerme software]# docker run --net host --name kitematic-linux \ > -v /tmp/.X11-unix:/tmp/.X11-unix \ > -e DISPLAY=$DISPLAY \ > -v $HOME/.Xauthority:/root/.Xauthority \ > -v /tmp/.X11-unix:/tmp/.X11-unix \ > -v /var/run/docker.sock:/var/run/docker.sock \ > --privileged=true -t jonadev95/kitematic-docker > Kitematic@0.8.2 start /opt/kitematic > grunt Running "download-binary:docker" (download-binary) task Running "download-binary:docker-machine" (download-binary) task Running "download-binary:docker-compose" (download-binary) task Running "newer:babel" (newer) task Running "newer:babel:dist" (newer) task Running "babel:dist" (babel) task Running "newer-postrun:babel:dist:1:/opt/kitematic/node_modules/grunt-newer/.cache" (newer-postrun) task Running "less:dist" (less) task File build/main.css created Running "newer:copy:dev" (newer) task Running "copy:dev" (copy) task Created 979 directories, copied 4615 files Running "newer-postrun:copy:dev:2:/opt/kitematic/node_modules/grunt-newer/.cache" (newer-postrun) task Running "shell:electron" (shell) task Running "watchChokidar" task Waiting... >> [18:1023/061457:ERROR:browser_main_loop.cc(173)] Running without the SUID sandbox! See https://code.google.com/p/chromium/wiki/LinuxSUIDSandboxDevelopment for more information on developing with the sandbox on. >> [18:1023/061506:ERROR:bus.cc(431)] Failed to connect to the bus: /usr/bin/dbus-launch terminated abnormally without any error message >> [39:1023/061506:INFO:renderer_main.cc(200)] Renderer process started >> libGL error: No matching fbConfigs or visuals found >> libGL error: failed to load driver: swrast >> [33:1023/061507:ERROR:gl_surface_glx.cc(347)] GLX 1.3 or later is required. >> [33:1023/061507:ERROR:gl_surface_x11.cc(56)] GLSurfaceGLX::InitializeOneOff failed. >> [33:1023/061507:ERROR:gpu_child_thread.cc(163)] Exiting GPU process due to errors during initialization >> [18:1023/061507:ERROR:browser_gpu_channel_host_factory.cc(134)] Failed to launch GPU process. >> [18:1023/061508:INFO:CONSOLE(109)] "Download the React DevTools for a better development experience: https://fb.me/react-devtools", source: /opt/kitematic/build/node_modules/react/lib/React.js (109) >> [18:1023/061509:WARNING:accelerator_util.cc(185)] Invalid accelerator token: command >> [18:1023/061509:WARNING:accelerator_util.cc(185)] Invalid accelerator token: command >> [18:1023/061509:WARNING:accelerator_util.cc(185)] Invalid accelerator token: command >> [18:1023/061509:WARNING:accelerator_util.cc(185)] Invalid accelerator token: command >> [18:1023/061509:WARNING:accelerator_util.cc(185)] Invalid accelerator token: command >> [18:1023/061509:WARNING:accelerator_util.cc(185)] Invalid accelerator token: command >> [18:1023/061509:WARNING:accelerator_util.cc(185)] Invalid accelerator token: command >> [18:1023/061509:WARNING:accelerator_util.cc(185)] Invalid accelerator token: command >> [18:1023/061509:WARNING:accelerator_util.cc(185)] Invalid accelerator token: command >> [18:1023/061509:WARNING:accelerator_util.cc(185)] Invalid accelerator token: command >> [18:1023/061509:WARNING:accelerator_util.cc(185)] Invalid accelerator token: command >> [18:1023/061509:WARNING:accelerator_util.cc(185)] Invalid accelerator token: command >> [18:1023/061509:WARNING:accelerator_util.cc(185)] Invalid accelerator token: command >> [18:1023/061509:WARNING:accelerator_util.cc(185)] Invalid accelerator token: command >> [18:1023/061509:ERROR:bus.cc(431)] Failed to connect to the bus: /usr/bin/dbus-launch terminated abnormally without any error message >> [18:1023/061510:WARNING:accelerator_util.cc(185)] Invalid accelerator token: command >> [18:1023/061510:WARNING:accelerator_util.cc(185)] Invalid accelerator token: command >> [18:1023/061510:WARNING:accelerator_util.cc(185)] Invalid accelerator token: command >> [18:1023/061510:WARNING:accelerator_util.cc(185)] Invalid accelerator token: command >> [18:1023/061510:WARNING:accelerator_util.cc(185)] Invalid accelerator token: command >> [18:1023/061510:WARNING:accelerator_util.cc(185)] Invalid accelerator token: command >> [18:1023/061510:WARNING:accelerator_util.cc(185)] Invalid accelerator token: command >> [18:1023/061510:WARNING:accelerator_util.cc(185)] Invalid accelerator token: command >> [18:1023/061510:WARNING:accelerator_util.cc(185)] Invalid accelerator token: command >> [18:1023/061510:WARNING:accelerator_util.cc(185)] Invalid accelerator token: command >> [18:1023/061510:WARNING:accelerator_util.cc(185)] Invalid accelerator token: command >> [18:1023/061510:WARNING:accelerator_util.cc(185)] Invalid accelerator token: command >> [18:1023/061510:WARNING:accelerator_util.cc(185)] Invalid accelerator token: command >> [18:1023/061510:WARNING:accelerator_util.cc(185)] Invalid accelerator token: command >> [18:1023/061510:ERROR:bus.cc(431)] Failed to connect to the bus: /usr/bin/dbus-launch terminated abnormally without any error message >> [18:1023/061511:ERROR:gtk2_key_bindings_handler.cc(120)] Not implemented reached in void libgtk2ui::Gtk2KeyBindingsHandler::BuildGdkEventKeyFromXEvent(const base::NativeEvent &, GdkEventKey *)
然后,会自动拉起图形化:
需要哪个Image,图形化窗口中点击【create】即可:
然后,就开始下载了:
下载完成后,就可以运行了:
命令行查看一下:
当前运行的容器:
[root@dockerme ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES ab665ffaa37c redis:latest "docker-entrypoint.sh" 11 minutes ago Up 9 minutes 6379/tcp redis 4b45a030749a jonadev95/kitematic-docker "/bin/sh -c 'bash /en" 33 minutes ago Up 33 minutes kitematic-linux [root@dockerme ~]#
查看系统运行的进程:
[root@dockerme ~]# ps -ef | grep --color redis polkitd 45671 45659 0 23:50 pts/4 00:00:00 redis-server *:6379 root 45719 16435 0 23:52 pts/2 00:00:00 grep --color=auto --color redis [root@dockerme ~]#
——————————————————————————
Done。