初步运行一个docker: docker run -d -p 80:80 nginx(镜像名) ,
-d 后台运行 (创建一个守护式的容器)
-p 主机端口:容器端口 做端口映射
-i 以交互模式运行一个容器
-t 表示容器启动后会分配一个伪终端 就是启动后进入其命令行界面
-ti 启动一个伪终端以交互式的方式进入某个容器 如果没有加-d(后台运行的话) 在使用exit 退出后该容器也会进行关闭
-P 开放所有容器端口到主机随机端口上
-v /usr/docker_file/NginxDemo.war:/usr/local/tomcat/webapps/NginxDemo.war 映射挂载目录
-v 宿主机绝对路径目录 :容器内部目录 (把宿主机路径下在文件映射到容器内部)
宿主机挂载目录下有文件变化或者新增删除 就会影响到容器挂载的目录下的文件
需要注意 宿主机挂载文件更新了 容器内文件不会跟着更新
如果在宿主机更新了文件后 需要更新容器文件 这里可以docker restart {容器名称/id} 实现刷新
attach 进入某个容器(使用exit退出后容器也跟着停止运行)
anaconda-post.log
宿主机与容器相互的拷贝 复制
docker cp /home/docker/centos/master.json my-centos7:/ 从宿主机复制文件到容器中
docker cp {需要复制的文件} {复制到哪里}
从容器中复制文件到宿主机中 上面案例目录反过来就行了
docker cp my-centos7:/ /home/docker/centos/master.json
保存一个已经运行的容器环境
docker commit -m “ubuntu with vim” -a “sgy” aa97ba3292ce sgy/ubuntu:vim
-m指定说明信息;-a指定用户信息;aa97ba3292ce代表容器的id;sgy/ubuntu:vim指定目标镜像的用户名、仓库名和 tag 信息。我这里都是为了博客瞎编的用户名,我自己的用户名也不是sgy,你运行命令的时候使用自己注册Docker时的用户名。
修改tag
docker tag boonya/tomcat-allow-remote boonyadocker/tomcat-allow-remote
docker inspect my-centos7 查看当前容器信息ip网段 端口映射
docker rm {id} 删除容器
docker rmi {id} 删除镜像
docker images 查看所有镜像
docker ps 查看正在运行的容器
docker ps -a 查看所有的容器
进入一个镜像
docker exec -it (容器名) /bin/bash
查询一个运行的软件
which nginx(软件名)
退出一个容器
exit