安裝環境: alios7.2
安裝:
1安裝源
# yum install epel-release –y # yum clean all # yum list
2:安裝docker
# yum install docker-io –y # systemctl start docker
3:檢查docker
# docker info
4啟停查看
# systemctl start docker #運行Docker守護進程 # systemctl stop docker #停止Docker守護進程 # systemctl restart docker #重啟Docker守護進程
使用
1創建dockerfile
FROM reg.docker.alibaba-inc.com/alibase/alios7u2:latest #這里是使用alios作為基礎鏡像 #下載一個yum源 RUN yum clean all RUN yum install -y python-devel mysql-devel zlib-devel opnssl-devel RUN rpm -ivh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm RUN wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo RUN yum makecache #下面部分是docker啟動后會運行的命令 CMD systemctl start nginx CMD systemctl start redis CMD rabbitmq-server start
2:根據daockerfile創建daocker鏡像
docker build <path> #path代表dockerfile所在的文件夾路徑
3:
基礎命令 sudo docker images

這一條是查看當前設備宿主機中有幾個docker 鏡像 當然這些是沒有啟動
repository 代表docker的名字
tag 代表當前版本號
image id 代表當前宿主機內鏡像的唯一id
created 代表創建了多久了
size 代表鏡像的大小
基礎命令 sudo docker ps

查看當前正在運行的docker
container id 代表運行中的唯一id
4:
啟動命令
需要知道docker images id
docker exec -i -t <docker_name> bash
為什么要用bash呢 因為bash后 里面的是彩色的呀,因為好看呀
6:daocker上傳這個可以找一個dockerhub看看
7:
sudo docker cp host_path containerID:container_path
sudo docker cp 我是宿主機的路徑 docker ps能夠看到的id:我是容器中的路徑
從容器復制到主機
sudo docker cp docker ps能夠看到的id:我是容器中的路徑 我是宿主機的路徑
sudo docker start <docker_name>
停止一個容器
sudo docker stop <docker_name>
刪除一個容器
sudo docker rm <docker_name>
通過docker的docker <image id> 刪除容器
sudo docker rmi -f <image id>>
8:問題
為什么我們在安裝好docker.io啟動的時候啟動不起來
首先確認是否是阿里雲的ecs中安裝docker
如果是的 可以route查看是否使用了172.16.0.0網段 如果有那么刪除了

雖然不知道為啥 阿里ecs出現這個問題但是刪了之后systemctl start docker之后應該就可以了
注意事項
dockerfile中的cmd命令通常在build的時候是檢測不出來錯誤的
但是當你run的時候發現docker ps 沒有起來
是不是很蒙逼, 你可以docker ps -a 來查看所有的
然后在docker logs containerID
關於 docker build報錯/bin/sh: 1: ./configure: not found 問題
docker build命令根據Dockerfile文件構建鏡像的過程中,除了FROM指令外,其他的每一條指令都是在一個新的容器里面運行
今天把Dockerfile文件寫成了如下的樣子
RUN cd /appRUN ./configure
結果就報configure文件不存在,但是文件的的確確是存在的,原因就是運行第2條指令時在新的容器里面,第1條指令的切換目錄失效了
解決的辦法就是將上面的2條指令合並在一起
在就沒啥 要說的
有啥要說的我會補充
