# 運行docker # -it表示前端運行 docker run -it centos /bin/echo haha # 後端運行並映射80端口 docker run -dt -p 80:80 --name mycentos my/os # 端口映射,IP訪問限制 docker run -dt -p 127.0.0.1:80:80 --name mycentos my/os # 不建立Container運行docker docker run --rm -it centos /bin/echo haha # 建立Container,起個名字 docker run -it --name testecho centos /bin/echo haha # 重命名image docker tag image_name new_image_name # 運行centos的終端 docker run -it centos /bin/bash # Container重命名 docker rename nginx nginx_1 #------------------------------------------------------------ # 退出 #------------------------------------------------------------ # 在docker的centos終端退出,此退出會中止Container exit # 不中止Container狀況下退出方法 快捷鍵:ctrl + p, ctrl + q #------------------------------------------------------------ # 運行Container #------------------------------------------------------------ # 運行已經退出的docker centos終端 docker start 0a2b06b59448 # 運行並附加到container docker start -i ContainerID # 中止正在運行的docker centos終端 docker stop 0a2b06b59448 # 附加到docker終端Container,前提是此Container已經運行中 docker attach 3b6165b7504a # 列出全部的Container docker ps -a # 打印docker的運行終端顯示 docker logs 81a4f43c74ed # 刪除Container docker rm 3b6165b7504a # 刪除全部Container docker rm $(docker ps -a) # 列出全部鏡像 docker images # 搜索鏡像 docker search centos # 下載鏡像 docker pull centos # 提交鏡像 docker commit mycentos my/os:latest #------------------------------------------------------------ # 鏡像導入導出及運行 #------------------------------------------------------------ # 導入容器爲鏡像文件 docker export 3b6165b7504a > centos.tar # 導入鏡像 cat centos.tar | docker import - test/centos:v1.0 # 運行導入的鏡像 docker run -it test/centos:v1.0 /bin/bash # 刪除鏡像 docker rmi test/centos:v1.0 # 查看docker的信息,包括安裝路徑、CPU、內存等 docker info # Container執行命令,進入容器終端 docker exec -it ContainerID bash # 進入容器終端 nsenter --mount --uts --ipc --net --pid --target $(docker inspect --format "{{.State.Pid}}" "4cd5af004a52") # 查看Container的端口映射 docker port ContainerID #------------------------------------------------------------ # 動態設置運行時的環境變量 # 使用參數--env # 查看Container的環境變量方法,能夠進入Container的bash中運行命令:env #------------------------------------------------------------ # 查看Container的環境變量 docker exec -it nginx env # 查看Container的Host文件 docker exec -it nginx cat /etc/hosts # 設置Container的環境變量 docker run --rm -it --name test --env MYHOME=/home --env TEST=/home --env PATH=$PATH:/home centos bash # 也能夠使用inspect查看Container的環境變量 docker inspect nginx #------------------------------------------------------------ # 端口映射,IP訪問限制 #------------------------------------------------------------ docker run -dt -p 127.0.0.1:90:80 --name jetty img_jetty docker run -dt -p 127.0.0.1:91:80 --name jetty1 img_jetty docker run -dt -p 80:80 --name nginx --link jetty:java --link jetty1:java1 img_nginx #------------------------------------------------------------ # 鏡像保存與重加載 #------------------------------------------------------------ # 保存鏡像 docker save img_java > img_java.tar # 從新加載鏡像 docker load < img_java.tar # 查詢鏡像歷史 docker history img_java # 查看鏡像信息Json docker inspect img_java #------------------------------------------------------------ # 文件複製 #------------------------------------------------------------ # 從Container複製文件autorun.sh到Host主機的/home目錄下 # 也能夠是目錄複製 docker cp test:/etc/init.d/autorun.sh /home # 從Host主機複製文件或文件夾到Container主機 # 使用scp命令,若是沒有安裝scp,使用yum install openssh-clients # 首先須要使用docker exec進入到Container的終端 scp -rp root@192.168.0.35:/home/jetty8/* /home/
#------------------------------------------------------------
# docker容器自動啓動
#------------------------------------------------------------
docker run --restart=always redis前端
#------------------------------------------------------------
# 掛載數據卷
# 參數privileged=true:意思給容器添加特權,好比對掛載卷的讀寫
# 掛載多個數據卷,能夠使用屢次-v
#------------------------------------------------------------
# 建立數據卷容器,並掛載目錄
docker run -it --privileged=true -v /home/jetty8:/home/jetty8 --name jetty centos bash
# 使用數據卷容器建立新的數據卷容器
docker run -it --privileged=true --volumes-from jetty --name os centos bash
#------------------------------------------------------------
# 使用Dockerfile建立鏡像
#------------------------------------------------------------
# 注意後面的一點不可少:.
docker build -f dockerfile -t my/centos .