Docker學習常用命令總結

自己工作中常用的一些docker命令,總結如下:

docker鏡像加速器修改
/etc/default/docker 
/etc/systemd/system/multi-user.target.wants/docker.service
systemctl daemon-reload
service docker restart

docker images -a 顯示所有鏡像信息
docker images -q
docker images --digests --no-trunc
docker info
docker search 鏡像名字
docker full 鏡像名字:版本
docker rmi -f 鏡像名稱:版本 強制刪除鏡像
docker rmi -f 鏡像名稱:版本 鏡像名稱:版本 強制刪除多個鏡像
docker rmi -f ${docker images -qa} 批量刪除
docker run -i imageid或容器名字 以交互式方式運行容器
           -t imageid或容器名字 爲容器分配一個僞終端
           -d 後臺運行容器,並返回容器id,也及啓動守護式容器
           -P 隨機端口映射
           -p 指定端口映射,例如:hostPort:containerPort

docker run -it --name mycentos001 centos
docker ps 查看所有正在運行的容器
docker ps -a 顯示當前以及過往歷史正在運行的容器
          -l 顯示過往歷史運行過的容器 
          -q 靜默方式顯示,只顯示容器id
          -n 顯示多少個容器
exit 退出容器並關閉
ctrl + p + q  退出但不關閉容器
docker start 容器id或容器名字   啓動容器
docker restart 容器id或容器名字  重啓容器
docker stop 容器id或容器名字    停止容器
docker kill 容器id或容器名字   強制停止容器
docker rm 容器id或容器名字 刪除歷史過往容器
docker rm -f 容器id或容器名字 強制刪除歷史過往容器
docker rm -f ${docker ps -a -q}  或者  docker ps -a -q|xargs docker rm   強制刪除多個容器
docker logs -f -t --tail 4 容器id  查看容器日誌
docker top 容器id 查看容器內正在運行的進程
docker inspect 容器id  查看容器內部細節
docker exec -it 容器id  重新進入容器,在容器中打開新的終端,並且可以啓動新的進程
docker attach 容器id 直接進入容器啓動命令的終端,不會啓動新的容器
docker cp 容器id:容器內路徑  目的主機路徑   從容器中拷貝文件到主機上
docker commit -a="zzyy" -m="tomcat without docs" 1499284c68e2 zhangguowen/tomcat01:1.1  提交自己特製的鏡像
docker run -it -p 8888:8080 zhangguowen/tomcat01:1.1 運行我自己的鏡像
docker run -d -p 8888:8080 tomcat 後臺方式運行
docker run -it -v /宿主機絕對路徑目錄:/容器內目錄   鏡像名 爲容器添加捲,讓主機和容器進行數據共享

docker run -p 3306:3306 --name mysql -v /root/mysql/conf:/etc/mysql/conf.d -v /root/mysql/logs:/logs -v /root/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.6

docker build -t 你的取的鏡像名字 .
docker run -d -p 80:80 你取的鏡像名字

docker run -p 3306:3306 --name mysql -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7
docker run -p 3306:3306 --name mysql -v /root/data/conf:/etc/mysql/conf.d -v /root/data/logs:/logs -v /root/data/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
docker exec -it mysql bash
docker run -net=host
grant all privileges on *.*  to 'root'@'%';
flush privileges;

docker run -d --name orange \
    --link mysql:mysql \
    -p 7777:7777 \
    -p 8888:8888 \
    -p 9999:9999 \
    --security-opt seccomp:unconfined \
    -e ORANGE_DATABASE=orange \
    -e ORANGE_HOST=mysql \
    -e ORANGE_PORT=3306 \
    -e ORANGE_USER=root \
    -e ORANGE_PWD=123456 \
    syhily/orange

將鏡像導出:
docker save -o xxxx.tar 鏡像名稱  
docker save -o <保存路徑/xxxx.tar> <鏡像名稱:標籤>
將鏡像導入:
docker load -i xxxx.tar 
將容器導出:
docker export <容器名> > <保存路徑>  例如:docker export ubuntu18 > ./ubuntu18.tar
將容器導入:
docker import <文件路徑>  <容器名>   例如:docker import ./ubuntu18.tar ubuntu18

查看容器日誌:
docker logs 容器id

docker給鏡像打標籤:
要推送一個鏡像到一個私有的registry,而不是公共的docker registry,必須指定一個registry主機名和端口來tag此鏡像
docker tag 鏡像名稱:標籤 192.168.88.101:5000/fedora/httpd:version1.0

推送標籤鏡像到私有倉庫:
docker push 192.168.88.101:5000/fedora/httpd:version1.0


 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章