docker 常用命令
1.列出本机所有镜像
docker images
2.删除镜像
docker rmi <IMAGE ID>
强制删除加个-f
docker rmi -f <IMAGE ID>
3.最基本的启动
docker run -it ubuntu
参数-it的含义,可以用docker run --help查看,就不展开了
4.启动后执行命令
docker run -it ubuntu echo ‘hello world‘
5.启动时指定容器名称
docker run -it --name ‘my_ubuntu‘ ubuntu
tips:可以做一个小试验,刚才我们已经创建了一个名为my_ubuntu的容器,这一行命令再次运行的话,就会报错:
Error response from daemon: Conflict. The name "my_ubuntu" is already in use by container d1c261ad0b1e. You have to remove (or rename) that container to be able to reuse that name.
大意是容器名称my_ubuntu已经被另一个容器(ID为d1c261ad0b1e)占用了,要么把原来的容器删除(见6),要么换个名字。
6.删除容器
docker rm 容器ID
7.停止运行中的容器
docker stop 容器名称
8.查看最近运行过的所有容器
docker ps -a
9.在已运行的容器中,直接执行命令
docker exec 容器名称 命令
例如:
docker exec myubuntu apg-get update
10.保存对容器所做的修改
在容器上做了一堆操作后,比如在ubuntu的基础上安装了一些软件、部署了一些应用之类,希望分发到其它机器,最简单的办法就是把容器重新生成一个新镜像,然后其它人直接docker pull你的新镜像就可以了。
docker commit -a 作者名字 -m 提交原因 -p 容器ID 镜像名称:版本号
例如:
docker commit -a ‘peng‘ -m ‘test commit‘ -p d1c261ad0b1e yjmyzz/ubuntu:V2
docker 安装centos
1.下载CENTOS的包(Image)
docker pull centos
2.建立一个CENTOS的容器。
sudo docker run --privileged --cap-add SYS_ADMIN -e container=docker -it --name my_centos -p 80:8080 -d --restart=always centos /usr/sbin/init
这个命令用来建立一个CENTOS的容器。因为我要在这个容器安装一个Tomcat,所以我做了一个端口映射,把80端口映射到容器的8080端口。
–privileged 指定容器是否是特权容器。这里开启特权模式。
–cap-add SYS_ADMIN 添加系统的权限。不然,系统很多功能都用不了的。
-e container=docker 设置容器的类型。
-it 启动互动模式。
/usr/sbin/init 初始容器里的CENTOS。
以上的参数是必需的。不然,建立的CENTOS容器不能正常使用和互动。
如果没有-it参数,容器会不停启动。
如果没有初始化和特权等等的开关,就不能使用systemctl。所以,以上的开关和设置是一样不能少的。
3.进入容器
docker exec -it my_centos /bin/bash