docker安装最新版 最新版docker安装,可能会涉及到FQ,所以加入google host 地址:https://github.com/racaljk/hosts sudo apt-get remove docker docker-engine sudo apt-get update sudo apt-get install linux-image-extra-$(uname -r) linux-image-extra-virtual sudo apt-get install apt-transport-https ca-certificates curl software-properties-common curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - sudo apt-key fingerprint 0EBFCD88 sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" sudo apt-get update apt-get install docker-ce
docker的连接工具
1 sudo apt install gcc 2 sudo apt install make 3 wget https://www.kernel.org/pub/linux/utils/util-linux/v2.24/util-linux-2.24.tar.gz; tar xzvf util-linux-2.24.tar.gz 4 cd util-linux-2.24 5 ./configure --without-ncurses 6 make nsenter 7 看PATH路径 8 sudo cp nsenter /bin or 下面的情况 9 sudo cp nsenter /usr/local/bin 10 wget -P ~ https://github.com/yeasy/docker_practice/raw/master/_local/.bashrc_docker 11 echo "[ -f ~/.bashrc_docker ] && . ~/.bashrc_docker" >> ~/.bashrc; source ~/.bashrc 12 会增加一些好用的命令 13 root@ubuntu:/data/docker# docker- 14 docker-containerd docker-containerd-shim docker-init docker-pid docker-runc 15 docker-containerd-ctr docker-enter docker-ip docker-proxy
2 docker常用基础命令
1 docker镜像与容器 2 1,列出本地已有的所有镜像 3 docker images 4 REPOSITORY TAG IMAGE ID CREATED SIZE 5 ubuntu 14.04 90d5884b1ee0 5 days ago 188 MB 6 php 5.6 f40e9e0f10c8 9 days ago 444.8 MB 7 nginx latest 6f8d099c3adc 12 days ago 182.7 MB 8 2,拉取镜像 9 docker pull <仓库地址>/<镜像名>:<镜像tag> 10 docker push <IMAGE_ID>:上传image 11 docker rmi <IMAGE_ID>:删除image 12 3,启动容器 13 docker run -it <镜像名>:<镜像tag> /bin/bash 14 docker run -t -i ubuntu:14.04 /bin/bash 15 -t:在新容器内指定一个伪终端或终端。 16 -i:允许你对容器内的标准输入 (STDIN) 进行交互。 17 该容器不以守护态运行,退出容器即关闭。 18 4,后台守护进程启动 19 docker run -dit <镜像名>:<镜像tag> /bin/bash 20 docker run -dit training/webapp python app.py 21 -d即是以守护态运行 22 5,自定义端口映射,启动服务 23 宿主机到容器内的端口映射 24 docker run -dit -p <hostPort>:<containerPort> --name <自定义容器名> <镜像名>:<镜像tag> /bin/bash && command1 command2 25 docker run -dit -p 5000:5000 training/webapp python app.py 26 -P:默认匹配docker容器的5000端口号到宿主机的49153 to 65535端口 27 -p <HOT_PORT>:<CONTAINER_PORT>:指定端口号 28 --name <自定义容器名> 29 docker run -p 5000:5000:绑定特定端口号(主机的所有网络接口的5000端口均绑定容器的5000端口) 30 docker run -p 127.0.0.1:5000:5000:绑定主机的特定接口的端口号 #访问本机的127.0.0.1:5000就能访问到容器的5000 31 docker run -d -p 127.0.0.1:5000:5000/udp training/webapp python app.py:绑定udp端口号 32 启动tomcat 33 docker run -dit -p <hostPort>:<containerPort> --name <自定义容器名> <镜像名>:<镜像tag> /bin/bash && <tomcat启动命令> 34 启动多个进程,使用&&连接多个启动命令即可 35 6,查看容器进程 36 docker ps #查看运行的容器 37 docker ps -a #查看所有的容器 38 7,快速查看映射的端口号 39 docker port (ID或者名字) 40 得知容器的某个确定端口映射到宿主机的端口号 41 ubuntu@data3:~$ docker port bd6eecdd6b38 42 80/tcp -> 0.0.0.0:8080 43 8,查看日志 44 docker logs [ID或者名字] 可以查看容器内部的标准输出 45 docker logs -f 7a38a1ad55c6 46 -f:让 dokcer logs 像使用 tail -f 一样来输出容器内部的标准输出。 47 9,查看容器内的进程 48 docker top [ID或者名字] 来查看容器内部运行的进程 49 10,查看docker的一些底层信息 50 docker inspect [ID或者名字] 51 docker inspect determined_swanson 52 -f:查找特定信息,如docker inspect -f '{{ .NetworkSettings.IPAddress }}' <container> 53 11,停止,重启,移除 54 docker stop [ID或者名字] 55 docker start [ID或者名字] 56 docker rm [ID或者名字] #容器必须停掉 57 docker rm `docker ps -a -q`:删除所有容器 58 其他常用命令 59 docker diff <CONTAINER_ID>:查看容器中的变化 60 docker exec -it <CONTAINER> <COMMAND>:在容器里执行命令,并输出结果 61 进入容器 62 不要使用attach 63 docker exec -it <names> "/bin/bash" 64 docker exec -it hungry_brown "/bin/bash" 65 Docker容器连接(掠过)现在主要是network了 66 docker run -d -P --name <CONTAINER_NAME> --link <CONTAINER_NAME_TO_LINK>:<ALIAS> 67 数据管理 68 -v 宿主机映射到容器内