docker經典實例學習筆記(第一章)

February 21, 2019 9:20 AM

docker經典實例學習筆記(第一章)

  • ubuntu中docker的安裝
sudo apt-get update
sudo apt-get install wget
sudo wget -qO- https://get.docker.com/ | sh
#啓動docker
service docker start
#以非root的方式執行docker命令
sudo gpasswd -a <user> docker
#重啓動shell
  • 在centos6.5安裝docker
sudo yum -y update
sudo yum -y install epel-release
sudo yum -y install docker-io
sudo service docker start
sudo chkconfig docker on
  • 在centos7中安裝docker
sudo yum update
sudo yum -y install docker
sudo systemctl start docker
#也可以使用官方的腳本來安裝
sudo yum update
sudo curl -sSL https://get.docker.com/ | sh
  • docker的常用命令
    docker 停止容器的命令 docker stop containerid 或 docker kill containerid
    是不會出現在docker ps中,可以通過 docker restart來重啓或者docker rm來刪除
創建docker
docker create -P --expose=1234 python:3.6 python -m SimpleHTTPServer 1234
#創建之後可以通過docker ps -a查看到這個container,需要啓動
docker start containerid
  • 在單個容器中運行多個服務進程,用supervisord
    也就是說在一個容器中用supervisor來同時運行多個進程

  • docker ps的一些用法介紹
    docker ps 顯示運行中的containers
    docker ps -a 顯示所有運行過的containers
    docker ps -q 顯示運行中container的id號
    docker ps -aq 顯示運行過的container的id號
    docker ps -l 顯示最後創建的container

  • 刪除所有docker container的方法

docker stop $(docker ps -q)
docker rm  -v $(docker ps -aq)
  • mysql容器的使用
docker run --name mysqlwp -e MYSQL_ROOT_PASSWORD=wordpressdocker
                          -e MYSQL_DATABASE=wordpress
                          -e MYSQL_USER=wordpress
                          -e MYSQL_PASSWORD=wordpress
                          -v /home/docker/mysql:/var/lib/mysql
                          -d
                          mysql:5.6
#給mysql的整個數據庫備份
docker exec mysqlwp mysqldump --all-databases --password=wordpressdocker > wordpress.dump
  • docker容器和宿主機之間的數據共享
    docker run -it -v "$PWD":/home/data ubuntu /bin/bash
    查看數據的掛載點
    docker inspect -f {{.Mounts}} containerid

  • docker容器之間的數據共享
    如果把上面的宿主機的路徑去掉,就創建了一個稱爲數據容器的容器
    docker run --name data -v /data ubuntu:16.04
    查看數據的掛載點
    docker inspect -f {{.Mounts}} containerid
    注意:即使這個數據容器沒有運行,但是卷映射關係已經存在,並持久化到了宿主機的某個路徑中
    要刪除數據容器的話,需要docker rm -v containerid 否則會有很多遺留的沒有使用的卷
    而且即使是沒有數據容器在運行,也可以用–volumes-from來掛載其中卷
    docker run -it --volumes-from data ubuntu:16.04 /bin/bash

  • docker cp的使用

#宿主機和容器之間的複製
docker cp c1:/home/file.txt  ./file.txt
docker cp ./file.txt c1:/home/file.txt
#容器之間的複製
docker cp c1:/home/file.txt ./file.txt
docker ./flie.txt c2:/home/file.txt
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章