由于业务需求,笔者用docker的两个镜像,一个是Ubuntu,另一个是MySQL。话不多说,直接来教程。
下载镜像
service docker start
docker pull ubuntu:16.04
docker pull mysql:5.6
第一条命令是为了启动docker服务,第二条是pull ubuntu的镜像,第三条是pull mysql的镜像。命令中 : 后面的数字表示版本号。
操作完成后输入docker images即可看到两个镜像。如果没有提示权限不足,请用sudo docker images
docker images
因为我已经保存很多个了,所以大家看一下大致的样子即可。
启动容器
如果不需要与物理机的端口绑定,那么只需要输入下面的命令。
首先查看镜像名称
docker images
标红的列为名称,TAG为版本号,后面是ID。
启动容器
首先是ubuntu的启动
docker run -it -d 镜像名:版本号 /bin/bash
其中 -it 是交互模式启动。后台运行模式,需要使用-d参数。这种模式下运行的一般是一些后台服务应用,如各类web应用。它们一般会涉及:端口、存储卷、环境变量、与其它容器连接等参数的设定,这种情形,run命令也会比较复杂,但涉及到的参数主要有 -d、--name、-e、-v、-p、--link、--label等。
PS:有时候镜像的名称为<none>版本号也为<none>的时候,请将镜像名:版本号替换为image id 即可启动啦!
输入docker ps 即可看到当前运行着的docker容器
docker ps
![](https://i-blog.csdnimg.cn/blog_migrate/dcf324b811ee70d4914b14713357e3b3.png)
如果你运行的docker程序需要映射到物理机的某个端口,那么在创建容器的时候输入下面的命令
docker run -it -d -p 物理机端口:docker的端口 镜像名:版本号 /bin/bash即可完成映射关系创建。
MySQL的容器创建会比较麻烦一点(下面命令式第一次配置的时候,如果配置好了和ubuntu那样启动即可)
docker run -p 3306:3306 -e MYSQL_ROOT_PASSWORD='你的root密码' -d 镜像名:版本号
进入容器
首先是ubuntu进入方式。输入命令docker ps 查看容器的ID,然后docker attach 容器ID 即可进入容器进行操作。
docker attach 容器ID
如果需要退出并关闭容器,直接在容器中输入exit即可。
mysql的进入方式
docker exec -it 容器的名字 bash
PS: 笔者安装的Ubuntu的系统,如果在该容器里面想装东西,请在第一次安装的时候执行apt-get update命令,否则不能正常运行。希望可以帮到你!
保存镜像
MySQL的镜像的数据你是带不走的,因为它挂载了物理机上,所以你的镜像保存了你的数据也是没有的!!!!!
docker commit 容器ID 新镜像名字
输入docker images 就能看到新的镜像了。
导出镜像
docker save 镜像ID > 输出路径
参考文章:https://blog.csdn.net/xujing19920814/article/details/78618671