對於Docker,應該不需要進行詳細的介紹了。它是最火熱的開源項目之一,通過在容器中增加一個抽象層(a layer of abstraction),就可以將應用程序部署到容器中。在看似穩定而成熟的場景下,使用Docker的好處越來越多。
初步試探docker,安裝過程開始:
順序執行命令:
1.yum install -y yum-utils device-mapper-persistent-data lvm2
2.yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
3.yum install docker-ce docker-ce-cli containerd.io
4.yum list docker-ce --showduplicates | sort -r
執行:yum install docker-ce-18.03.1.ce
安裝完畢之後運行:docker version 查看是否安裝成功。
出現上面的提示就說明docker已經安裝成功啦。
接下來在docker容器裏面安裝nginx服務器來進行測試。
執行 docker pull nginx :latest
這一步可能會報錯,Trying to pull repository docker.io/library/centos ... Get https://registry-1.docker.io/v2/library/centos/manifests/latest: Get https://auth.docker.io/token?scope=repository%3Alibrary%2Fcentos%3Apull&service=registry.docker.io: net/http: TLS handshake timeout,
解決辦法:
yum install bind-utils
dig @114.114.114.114 registry-1.docker.io
vim /etc/hosts
增加:
3.211.199.249 registry-1.docker.io
再執行:docker search nginx
docker pull nginx:latest
等待安裝就行了。
安裝完畢之後執行下面的映射代碼或者可以直接在docker容器裏面操作:
我這裏是把文件進行了映射:
直接使用命令進入容器管理:
docker exec -i -t nginx-docker /bin/bash
cd /etc/nginx/
下面都是nginx的配置,
nginx的html存放路徑是/usr/share/nginx/html
下面是容器映射到本地:
創建對應的文件夾
mkdir /root/docker/nginx/conf
mkdir /root/docker/nginx/logs
mkdir /root/docker/nginx/html
使用docker ps查看nginx進程id
f230ec4d3923就是進程id,換成自己機器的
docker cp f230ec4d3923:/etc/nginx/nginx.conf /root/docker/nginx/conf/
docker cp f230ec4d3923:/etc/nginx/conf.d/default.conf /root/docker/nginx/conf.d/default.conf
如果docker容器已經存在了就刪除一下,如果沒有提前操作就忽略此步驟:
docker rm nginx-docker
docker run -d --name nginx-docker -p 8080:80 -v /root/docker/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /root/docker/nginx/logs:/var/log/nginx -v /root/docker/nginx/html:/usr/share/nginx/html nginx
--name nginx-docker:容器名稱。
-p 8080:80: 端口進行映射,將本地 8080 端口映射到容器內部的 80 端口。
-d nginx: 設置容器在在後臺一直運行。
執行完畢之後訪問一下nginx看看:
初步的docker容器安裝,以及在容器裏面安裝nginx已經完畢,後續安裝php,mysql環境整合,正常開發web項目。