docker教程html
docker help
:查看幫助信息
docker run —help
:能夠查看某條命令的具體用法docker info
:查看docker的安裝信息
which docker
:查看docker的執行路徑docker pull <鏡像名:tag>
:從官網拉取鏡像docker search <鏡像名>
:搜索在線可用鏡像名docker images
:查詢全部的鏡像,默認是最近建立的排在最上docker rmi <鏡像名:tag>
:刪除鏡像docker rmi $(docker images -q -f dangling=true)
:批量刪除無用鏡像前端
效果node
docker ps
:查看全部運行中容器docker ps -a
:查看全部容器docker ps -l
: 查看最後啓動的容器的信息
docker top {容器ID|容器名稱}
:顯示容器內運行的進程docker run <鏡像名1> <鏡像名2> <鏡像名3>
:同時運行幾個docker run <鏡像名> apt-get install -y ping
:在容器中安裝新程序
docker run -it ubuntu /bin/bash
:運行一個可交互的容器
docker run -e <名稱>=<參數> node
:設置容器環境docker run -d ubuntu:14.04 /bin/sh -c "while true; do echo hello world; sleep 1; done
:執行後臺任務docker run --name web training/webapp
:爲容器起名字docker run —rm <鏡像名>
用完就刪除,不能與-d一塊兒使用docker exec -it sso-server-dev /bin/bash
:docker啓動後執行一些命令操做docker run —restart always node
:掛了重啓docker tag {容器ID|容器名稱} <鏡像名:tag>
:給鏡像加tagdocker stop {容器ID|容器名稱}
:中止容器docker start {容器ID|容器名稱}
:啓動容器docker cp 7bb0e258aefe:/etc/debian_version .
:從container中拷貝文件,當container已經關閉後,在裏面的文件還能夠拷貝出來。把容器中的/etc/debian_version拷貝到當前目錄下。docker inspect {容器ID|容器名稱}
:docker容器的配置和狀態信息docker inspect -f '{{ .NetworkSettings.IPAddress }}' {容器ID|容器名稱}
:過濾信息docker logs {容器ID|容器名稱}
:查詢某個容器的全部操做記錄,標準輸出流docker logs -f {容器ID|容器名稱}
: 實時查看容易的操做記錄docker run -P <鏡像名>
docker run -p <主機端口號>:<容器端口號> mongo
:
docker run -p 127.0.0.1:5001:5002 mongo
:指定綁定的網絡地址docker run -p 80:5000 training/webapp python app.py
:指定主機和容器端口號docker run -d -p 127.0.0.1:5000:5000/udp training/webapp python app.py
:綁定udp端口docker port mongo 5000
:查詢容器內的端口號映射到哪一個本地地址,127.0.0.1:49155docker port -p 1111:1111 -p 2222:2222 -p 3333:3333 mongo
: -p可使用屢次docker run -d -P --name web --link <容器名稱>:<別名> <鏡像名>
// 實例 sudo docker run -d --name mongo mongo sudo docker run -d -P --name web --link mongo:db node $ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 349169744e49 training/postgres:latest su postgres -c '/usr About a minute ago Up About a minute 5432/tcp db aed84ee21bde training/webapp:latest python app.py 16 hours ago Up 2 minutes 0.0.0.0:49154->5000/tcp db/web,web 咱們鏈接容器作什麼?咱們發現鏈接的兩個容器是父子關係。這裏的父容器是db能夠訪問子容器web。爲此docker在容器之間打開一個安全鏈接隧道不須要暴露任何端口在容器外部。 你會注意到當你啓動db容器的時候咱們沒有使用-P或者-p標識。咱們鏈接容器的時候咱們不須要經過網絡給PostgreSQL數據庫開放端口。
數據卷python
docker run -d -P --name web -v /src/webapp:/opt/webapp training/webapp python app.py
docker run --name jupiter-install -v $(pwd):/home -w /home --rm node_tools npm install
數據卷容器nginx
docker pull node
:從官網下載node鏡像docker build -t node-pomelo ./
:經過Dockerfile建立鏡像docker build -t node-pomelo -f Dockerfile.pomelo.env ./
:經過配置文件指定Dockerfile文件docker commit <容器id> <新鏡像名稱>
docker commit -m="註釋信息" -a="user信息" node:v2
docker history node:v2
:查看鏡像提交歷史
2.10.4.1.1. 術語介紹git
2.10.4.1.2. 父鏡像web
2.10.4.1.3. 基礎鏡像redis
2.10.4.1.4. 鏡像IDmongodb
docker save debian02 > /root/debian02.tar:debian02
:鏡像打成壓縮包docker load < debian02.tar
:在另外的機器上導入鏡像docker images
:查看存在的鏡像docker hub的自動化構建docker
sudo service docker restart
sudo service docker stop
systemctl enable docker
docker run -i -t node /etc/rc.local
sudo nohup docker-compose up