docker 基础

docker 基础.note获取docker 容器ip

  • 获取一台或多台计算机的IP地址

docker-机器ip docker-machine ip docker-machine ip dev docker-machine ip dev dev2

docker 运行nginx并进入容器内部、端口映射open in new window

一、docker运行容器

docker pull hub.c.163.com/library/node:latest

  • 拉取镜像到本地,并查看本地的镜像:

docker images

  • 运行容器

docker run [option] IMAGE [COMMOND] [ARG...]

demo # -d: 后台启动容器; --name:容器的别名,默认为随机的

docker run -d --name nginx1.0 hub.c.163.com/library/nginx

容器的操作:

查看正在运行的容器

docker ps

查看所有容器

docker ps -a

查看最近一次运行的容器

docker ps -l

创建容器

docker create 容器名或者容器ID

启动容器

docker start [-i] 容器名

运行容器,相当于docker create + docker start

docker run 容器名或者容器ID

进入容器的命令行(退出容器后容器会停止)

docker attach 容器名或者容器ID bash

进入容器的命令行

docker exec -it 容器名或者容器ID bash docker exec -it nginx1.0 bash

停止容器

docker stop 容器名

查看WEB应用程序容器的进程

docker top 容器名

查看Docker的底层信息

docker inspect 容器名

二、docker 网络

linux使用namespace来进行资源的隔离;

  • docker的网路类型分为:
  1. Bridge模式:桥接(默认的模式)
  2. host模式:容器将不会获得独立的network namespace,将和主机公用一个;即在docker中使用网络和主机上一样的;
  3. None:不与外界任何东西进行通讯

采用Bridge的时候需要和主机通讯,就需要使用端口映射;

  • 端口映射 主机的8080端口映射到容器中的80端口

docker run -d --name nginx1.1 -p 8080:80 hub.c.163.com/library/nginx

docker run -itd --name nginx1.1 -p 8080:80 hub.c.163.com/library/nginx docker run -itd --name centos-test centos:centos7 docker run -itd -p 10022:22 centos7-ssh:latest bash docker run -d --name centos7-ssh -p 10033:22 centos7-ssh:latest /usr/sbin/sshd -D docker run -d --name centos7-php7 -p 10033:22 -p 10010:80 centos7-php7:latest /usr/sbin/sshd -D

  • 拥有数据库权限

docker run -d -it --privileged --name centos7-php7 -p 10033:22 -p 10010:80 centos7-php7:latest /usr/sbin/init -D

http://www.freesion.com/article/7691159932/open in new window

DOCKER 使用中遇到的问题记录: CGROUPS: CANNOT FIND CGROUP MOUNT DESTINATION: UNKNOWN.

今天需要新建一个oracle容器,然后上服务器运行命令:

如图,出现了如下错误。

  1. time="2018-06-29T13:46:06+08:00" level=info msg="Unable to use system certificate pool: crypto/x509: system root pool is not available on Windows"
  2. 25870f5750677b55cdce523dd562a21122b91ff304cbeff3b45a95f716eaa66b
  3. D:\Docker Toolbox\docker.exe: Error response from daemon: cgroups: cannot find cgroup mount destination: unknown.

使用docker-machine ssh default 进入虚拟机。

出现同样问题,然后在 https://github.com/moby/moby/issues/36016open in new window 找到了解决方案。

使用docker-machine ssh default 进入虚拟机,执行如下命令:

  1. sudo mkdir /sys/fs/cgroup/systemd
  2. sudo mount -t cgroup -o none,name=systemd cgroup /sys/fs/cgroup/systemd

如图,容器创建成功。

贴下我的docker 版本,希望对遇到同样问题的朋友有所帮助:

  1. Containers: 3
  2. Running: 3
  3. Paused: 0
  4. Stopped: 0
  5. Images: 5
  6. Server Version: 18.05.0-ce
  7. Storage Driver: aufs
  8. Root Dir: /mnt/sda1/var/lib/docker/aufs
  9. Backing Filesystem: extfs
  10. Dirs: 46
  11. Dirperm1 Supported: true
  12. Logging Driver: json-file
  13. Cgroup Driver: cgroupfs
  14. Plugins:
  15. Volume: local
  16. Network: bridge host macvlan null overlay
  17. Log: awslogs fluentd gcplogs gelf journald json-file logentries splunk syslog
  18. Swarm: inactive
  19. Runtimes: runc
  20. Default Runtime: runc
  21. Init Binary: docker-init
  22. containerd version: 773c489c9c1b21a6d78b5c538cd395416ec50f88
  23. runc version: 4fc53a81fb7c994640722ac585fa9ca548971871
  24. init version: 949e6fa
  25. Security Options:
  26. seccomp
  27. Profile: default
  28. Kernel Version: 4.9.93-boot2docker
  29. Operating System: Boot2Docker 18.05.0-ce (TCL 8.2.1); HEAD : b5d6989 - Thu May 10 16:35:28 UTC 2018
  30. OSType: linux
  31. Architecture: x86_64
  32. CPUs: 16
  33. Total Memory: 15.65GiB
  34. Name: default
  35. ID: 4NBI:VJ3X:TDZC:QBVL:BSBF:5LLV:MPRD:UTNC:GZFZ:WULR:ZASY:ZISB
  36. Docker Root Dir: /mnt/sda1/var/lib/docker
  37. Debug Mode (client): false
  38. Debug Mode (server): false
  39. Registry: https://index.docker.io/v1/
  40. Labels:
  41. provider=virtualbox
  42. Experimental: false
  43. Insecure Registries:
  44. 127.0.0.0/8
  45. Live Restore Enabled: false

docker run --name runoob-php-nginx -it -p 9995:80 -d -v /nginx/www:/usr/share/nginx/html:ro -v /nginx/conf/conf.d:/etc/nginx/conf.d:ro --link myphp-fpm:php nginx

Last Updated:
Contributors: 刘荣杰