1. 程式人生 > 實用技巧 >Docker基礎操作

Docker基礎操作

Docker

"""
1)docker就是Linux上及其輕量的虛擬機器

2)虛擬機器是存在宿主系統中,通過映象給宿主系統拓展子系統的(一個映象理論上可以做n個子系統)

3)兩個特別重要的概念
    image:映象
    container:容器(子系統)
    
4)工作方式:
    i)在伺服器系統下載docker(為伺服器安裝虛擬機器,伺服器系統就是宿主系統)
    ii)用docker去下載對應需求的映象:映象操作
    iii)通過映象製造容器(裝子系統):容器操作
    

5)優勢
    i)超級輕量級,docker安裝的容器體積可以按kB度量
    ii)叢集部署,docker可以通過一個映象製造出多個一模一樣的容器
    iii)便捷管理所有映象與容器(命令列操作)
    
6)映象和容器特點
    一般一個映象中只包含一種軟體:比如mysql映象,建立的容器中只有mysql環境;redis映象,建立的容器中只有redis環境
    注:一個映象中有多個環境的需要自己製作映象
"""
##CentOS安裝Docker
###設定管理Docker的倉庫
"""
1)安裝依賴
sudo yum install -y yum-utils device-mapper-persistent-data lvm2

2)安裝穩定倉庫
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
"""

###安裝Docker Engine-Community
"""
1)安裝
>: yum install docker-ce docker-ce-cli containerd.io

2)如果提示您接受 GPG 金鑰,請允許
""" ##Docker基礎命令 ###開啟關閉 """ 1)啟動 >: service docker start | systemctl start docker 2)關閉 >: service docker stop | systemctl stop docker 3)重啟 >: service docker restart | systemctl restart docker """ ###映象操作 """ 1)列出映象 >: docker image ls 2)拉取映象 >: docker [image] pull 映象名:版本 eg: docker image pull hello-world:latest 3)刪除映象 >: docker image rm 映象ID 4)將容器反向打包映象 >: docker save -o <檔名.tar> <映象名> 5)根據打包的映象檔案載入映象 >: docker load -i <檔名.tar>
""" ###容器操作 """ 1)建立容器 >: docker run [選項引數] 映象名 [命令] 2)檢視所有容器:-a就是--all代表全部展示 >: docker container ls [-a] >: docker ps [-a] 2)停止一個已經在執行的容器 >: docker [container] stop 容器id 3)啟動一個已經停止的容器 >: docker [container] start 容器id 4)kill掉一個已經在執行的容器 >: docker [container] kill 容器id 5)刪除容器 >: docker [container] rm 容器id 6)進入容器 >: docker [container] exec 引數 容器id bash eg: docker exec -it 685e1 bash 7)退出容器 >: exit """ ###Docker安裝Mysql """ 1)安裝 >: docker image pull mysql:5.7 2)建立容器:root根使用者的密碼MYSQL_ROOT_PASSWORD採用的是root >: docker container run -itd -p3306:3306 -e MYSQL_ROOT_PASSWORD=root mysql:5.7 注:本地測試 >: mysql -hIP -P埠 -uroot -p密碼 >: mysql -h 39.99.192.127 -P 3306 -u root -p >: root >: create database luffy default charset=utf8; >: grant all privileges on luffy.* to 'luffy'@'%' identified by 'Luffy123?'; >: grant all privileges on luffy.* to 'luffy'@'localhost' identified by 'Luffy123?'; >: flush privileges; """ ###Docker安裝Redis """ 1)安裝 >: docker pull redis:4.0.9 2)建立容器 >: docker container run -itd -p6379:6379 redis:4.0.9 3)進入容器 >: docker container exec -it <容器名稱/容器ID> bash 4)測試 >: redis-cli >: redis-cli -h 39.99.192.127 -p 6379 >: config set requirepass Admin123 """