操作系统:CentOS7
docker使用官网下载的docker-ce-17.09.1.ce-1.el7.centos.x86_64.rpm,CE版本
参考 http://blog.youkuaiyun.com/21cnbao/article/details/56275456
1、安装rpm
yum install docker-ce-17.09.1.ce-1.el7.centos.x86_64.rpm
用yum安装,会自动解析依赖关系,自动升级安装需要的包
2、启动docker
systemctl start docker
3、下载镜像
docker pull ubuntu
4、进入镜像shell
docker run --name name1 -it --rm ubuntu
--name指定启动的容器名称,方便通过docker ps -a查看
5、镜像中增加内容,创建自己的镜像
[root@localhost opt]# mkdir myubuntu
[root@localhost opt]# cd myubuntu/
[root@localhost myubuntu]# ls
[root@localhost myubuntu]# vi Dockerfile
# ubuntu with ifconfig gcc
FROM ubuntu
MAINTAINER jshagw<13857120590@qq.com>
RUN apt-get update && apt-get install -y net-tools gcc
[root@localhost myubuntu]# docker build -t jshagw/myubuntu .
6、使用新的镜像
[root@localhost myubuntu]# docker run jshagw/myubuntu ifconfig
7、上传新的镜像
[root@localhost myubuntu]# docker login
[root@localhost myubuntu]# docker push jshagw/myubuntu
jshagw/myubuntu是将所有的tag都上传,如果要上传指定tag,就加上:tag,如jshagw/myubuntu:20171221
8、端口映射
docker run -it --rm -p 127.0.0.1:8080:8080 -p 3306:3306 jshagw/myubuntu
如果要指定多个端口映射,就是用多个-p参数
9、镜像启动,后台执行
nohup docker run -i --rm -p 7000:7000 jshagw/myubuntu:20171222_tcpserver /opt/tcpserver.x64.d &
其中不能有-t选项,-t选项是往前台输出的,加了-t之后,程序会直接退出