安装环境: alios7.2
安装:
1安装源
1 2 3 |
|
2:安装docker
1 2 |
|
3:检查docker
1 |
|
4启停查看
1 2 3 |
|
使用
1创建dockerfile
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
2:根据daockerfile创建daocker镜像
1 |
|
3:
基础命令 sudo docker images
这一条是查看当前设备宿主机中有几个docker 镜像 当然这些是没有启动
repository 代表docker的名字
tag 代表当前版本号
image id 代表当前宿主机内镜像的唯一id
created 代表创建了多久了
size 代表镜像的大小
基础命令 sudo docker ps
查看当前正在运行的docker
container id 代表运行中的唯一id
4:
启动命令
需要知道docker images id
sudo docker run -d -p 宿主机端口:docker端口 -p 宿主机端口2:docker端口2 -p 宿主机端口3:docker端口3<docker image id> /usr/sbin/init
这里的/usr/sbin/init 是为了开启之后可以使用systemctl方法
5:
进入docker容器中
1 |
|
为什么要用bash呢 因为bash后 里面的是彩色的呀,因为好看呀
6:daocker上传这个可以找一个dockerhub看看
7:
从主机复制到容器
sudo docker cp host_path containerID:container_path
sudo docker cp 我是宿主机的路径 docker ps能够看到的id:我是容器中的路径
从容器复制到主机
sudo docker cp containerID:container_path host_path
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 /app
RUN ./configure
结果就报configure
文件不存在,但是文件的的确确是存在的,原因就是运行第2条指令时在新的容器里面,第1条指令的切换目录失效了
解决的办法就是将上面的2条指令合并在一起