docker終于出來mac版本了撑刺,趕緊去下載姑裂,安裝步驟醒叁,以前沒有Mac版本的時候還要裝docker toolbox邮府,現(xiàn)在直接下載安裝就好了嘁圈。
安裝好了的樣子
這個時候就可以到終端里面輸入docker命令
$ docker --version
Docker version 1.13.0-rc3, build 4d92237
$ docker-compose --version
docker-compose version 1.9.0, build 2585387
$ docker-machine --version
docker-machine version 0.9.0-rc2, build 7b19591
- 如果在終端里面輸入docker提示的是command not found請將docker加入到環(huán)境變量
vim /etc/profile
最后插入 export PATH=${PATH}:/usr/local/bin ## docker命令安裝到了這個目錄
hello world
docker run hello-world
主要用來測試docker是否安裝好寇仓,能否正常使用
docker images 查看已經(jīng)下載的鏡像
docker ps 查看在運行的容器
docker ps -a 查看全部運行的容器
刪除鏡像和容器(為了好理解什么是鏡像什么是容器橱赠,我是這么想的,鏡像就是一個什么都沒有裝關(guān)閉著的電腦蕉世,容器就是安裝了需要的軟件運行中的電腦)
docker rm 刪除容器
docker rmi 刪除鏡像
docker rmi c54a2cc56cbb 就會刪除hello-world鏡像
docker rmi c5 也會刪除hello-world鏡像 因為c5能在你的鏡像列表里面代表唯一的鏡像蔼紧,docker會幫你自動補全
LAMP
- 查找hub.docker.com里面的Ubuntu版本
docker search ubuntu
- 安裝Ubuntu
docker pull ubuntu # 這樣安裝的Ubuntu版本是16.04的
docker pull ubuntu:14.04 # ubuntu 14.04 版本
- 進(jìn)入Ubuntu容器,安裝軟件
docker run <image id> -i -t /bin/bash # -i 同步輸入 -t 同步輸出 -d 持續(xù)運行
然后就進(jìn)入到了熟悉的Ubuntu
安裝 vim apache2 mysql php5 redis
apt-get update
apt-get install vim
apt-get install apache2
apt-get install mysql-server
apt-get install php5 libapache2-mod-php5 php5-gd php5-mysql
apt-get install redis-server php5-redis
安裝完成之后 exit 退出bash讨彼,當(dāng)前容器就會停止
如果運行的時候加了 -d 參數(shù)就可以通過 attach 和 exec 再次進(jìn)去容器
docker attach -i -t <container id> /bin/bash
docker exec -i -t <container id> /bin/bash
使用 docker ps -a 查看當(dāng)前的容器
我們剛剛弄好的容器當(dāng)然需要保存一下成鏡像歉井,不然每次使用這個容器的時候都需要安裝軟件,使用 commit 命令
docker commit -m"description" <container ID> new_name
再次 docker images 就會發(fā)現(xiàn)剛剛提交的images出現(xiàn)在列表里面了
映射本地端口到容器端口 映射本地文件夾到容器文件夾
docker run -itd -p 8989:80 -v /Users/PHP/wwwroot:/var/www/html 74b3eadeafea /bin/bash
-p 將本地的8989端口映射到容器的80端口
-v 將本地的 文件夾映射到服務(wù)器Apache默認(rèn)的網(wǎng)站目錄下
將自己的鏡像上傳到hub.docker.com
首先到docker.com注冊賬號哈误,新建一個 REPOSITORY
docker login # 登錄docker
docker tag <images ID> <namespace>/<image name>:<version tag eg latest>
docker push <namsoace>/<image name> # 等待上傳完了就好了
文章來源:bigcode