初識 docker

1、安裝Dockerhtml

  我使用的是騰訊雲上的centos 7。linux

  docker -v 查看是否已經安裝有dockernginx

  若是有 systemctl stop docker 中止docker服務web

  查看當前版本 rpm -qa | grep dockerdocker

  卸載 dockerjson

  yum erase docker docker-client  docker-client-latest  docker-common  docker-latest  docker-latest-logrotate  docker-logrotate  docker-selinux docker-engine-selinux  docker-engine docker-ceubuntu

  刪除一些相關的配置centos

find /etc/systemd -name '*docker*' -exec rm -f {} \;
find /etc/systemd -name '*docker*' -exec rm -f {} \;
find /lib/systemd -name '*docker*' -exec rm -f {} \;
rm -rf /var/lib/docker #刪除之前已有的鏡像和容器,非必要
rm -rf /var/run/docker 

  接下來就是安裝了:瀏覽器

  更新yum源: yum updatebash

  安裝工具:yum install -y yum-utils device-mapper-persistent-data lvm2 

  添加docker-ce的yum源 : yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo,完成後會在/etc/yum.repo.d/下多了docker-ce.repo

  查看docker-ce 版本:  yum list docker-ce --showduplicates | sort -r

  

  使用命令 yum install docker-ce-version 安裝相應版本的docker: yum install -y docker-ce-18.06.3.ce

   查看docker版本:docker version

   

  我安裝完運行docker命令的時候提示:Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running? 

   解決辦法:  

    systemctl daemon-reload 
    service docker restart

  查看docker狀態

  

 

  最後能夠用 docker run hello-world 測試docker是否正常可用。

  

2、docker鏡像加速器配置

  因爲國內訪問docker官方鏡像慢的緣由,一般須要配置國內的鏡像加速器,我使用的是阿里雲的鏡像加速器 :

  https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors

  具體配置在阿里雲的鏡像加速器有操做文檔,下面是我centos的配置

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["鏡像加速器URL"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

 

3、docker 經常使用命令

  docker --version 查看當前安裝docker版本號

  docker info 顯示 Docker 系統信息,包括鏡像和容器數。。

  docker version 顯示 Docker 版本信息

  docker ps 查看當前正在運行的容器

  docker images 查看本地全部的鏡像

  docker run 運行一個容器:

    docker run ubuntu:15.10 /bin/echo "Hello world" : /bin/echo "Hello world" 爲在啓動的容器裏執行的命令,ubuntu爲鏡像名稱,15.10位Tag,不指定Tag則默認爲latest

    docker run -i -t ubuntu:15.10 /bin/bash : -t 在新容器內指定一個終端,-i 容許對容器內的stdin進行交互

    docker run -p hostport:containerport -d --name containername image : hostport 爲宿主機對外的端口號,將containnerport容器中的端口號映射出去被外界訪問,-d 爲detach,指定後會在後臺運行,containnername指定容器名稱,image爲鏡像文件名稱

    docker logs ad3b66b77b56:查看容器id 爲 ad3b66b77b56 的日誌

  docker stop ad3b66b77b56 :中止id爲docker stop ad3b66b77b56的容器,id也能夠是name

  docker start ad3b66b77b56 :啓動容器

  docker rm ad3b66b77b56 : 移除容器

  docker inspect ad3b66b77b56 : 查看底層信息

  docker pull 從鏡像倉庫拉取鏡像到本地

    docker pull ubuntu:15.10

    docker pull httpd

  docker rmi -f fce289e99eb9 刪除本地image id 爲fce289e99eb9 的鏡像

  docker search nginx :查找鏡像

  docker exec -it containerId/containerName /bash  進入容器內部

  docker --help 查看命令幫助

4、安裝Nginx

  docker pull nginx 從倉庫拉取nginx鏡像

  docker run --name nginx-test -p 8081:80 -d nginx 使用 NGINX 默認的配置來啓動一個 Nginx 容器實例

  

  接着能夠在瀏覽器上訪問8081端口

  

  

    部署nginx

  建立本機的nginx目錄,www: 目錄將映射爲 nginx 容器配置的虛擬目錄,logs: 目錄將映射爲 nginx 容器的日誌目錄。conf: 目錄裏的配置文件將映射爲 nginx 容器的配置文件。

    mkdir -p ~/nginx/www ~/nginx/logs ~/nginx/conf

  將docker容器中的nginx配置文件複製到本地: docker cp bb7cfa275000:/etc/nginx/nginx.conf ~/nginx/conf/

  運行命令

    docker run -d -p 8082:80 --name nginx-test-web -v ~/nginx/www:/usr/share/nginx/html -v ~/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v ~/nginx/logs:/var/log/nginx nginx

    •   -p 8082:80: 將容器的 80 端口映射到主機的 8082 端口。

    •   --name runoob-nginx-test-web:將容器命名爲 runoob-nginx-test-web。

    •   -v ~/nginx/www:/usr/share/nginx/html:將咱們本身建立的 www 目錄掛載到容器的 /usr/share/nginx/html。

    •   -v ~/nginx/conf/nginx.conf:/etc/nginx/nginx.conf:將咱們本身建立的 nginx.conf 掛載到容器的 /etc/nginx/nginx.conf。

    •   -v ~/nginx/logs:/var/log/nginx:將咱們本身建立的 logs 掛載到容器的 /var/log/nginx。

  最後就能夠在咱們建立的~/nginx/www目錄下建立本身的html文件了。

  

相關文章
相關標籤/搜索