#下载Docker官方源 [1] cd /etc/yum.repos.d wget https://download.docker.com/linux/centos/docker-ce.repo #安装docker CentOS7 下直接yum -y install docker #启动docker,将docker设置为开机启动 systemctl start docker systemctl enable docker #查看运行中的容器 docker ps #开启、关闭、kill容器 docker stop Name/ID docker start Name/ID docker kill Name/ID #配置镜像加速 修改/etc/docker/daemon.json { "registry-mirrors": ["https://xxxxxx.mirror.aliyuncs.com"] } 若是docker已经启动要重启docker才会使加速配置生效 systemctl restart docker #初始化镜像 docker pull docker.io/centos #将指定的镜像实例化为容器 docker run -d -p 3307:3306 --name test_centos7 docker.io/centos:latest 参数: -p 将容器端口映射成宿主机端口。格式:本机端口:容器端口 --name 容器名称。 -d 容器进入后台运行,咱们在容器中执行操做完成并退出后容器不会结束运行。 [1] 更多参数 [1] #进入到建立的容器执行其余操做 docker exec -ti test_centos7 /bin/bash 参数: [1] 进入容器后就能够像ssh登陆服务器后同样执行其余操做,如运行yum安装软件、执行shell操做文件目录等 #容器开启或者关闭 docker stop test_centos7 docker start test_centos7 #查看容器的指定端口(如3306)对应本地机器的IP和端口号 docker port test_centos7 3306 #0.0.0.0:3307 #在下载镜像前搜索是否存在相关镜像 docker search centos docker pull centos:7 #实例化容器时若是要映射多个端口到宿主机上能够指定多个-p参数 docker run -d -p 80:80 -p 2222:22 --name test_centos7 docker.io/centos #若是容器中没法执行systemctl命令则须要在容器实例建立时执行/usr/sbin/init docker run -d -p 80:80 -p 2222:22 --name test_centos7 docker.io/centos /usr/sbin/init #查看已经创建的容器 docker ps -a #将容器保存为镜像(后面的hash值经过docker ps -a命令查看) [1] docker commit 861eea8a625e test/centos7-ssh:v0.1 #查看本地的镜像 docker images #删除docker镜像 docker rmi test/centos7-ssh:v0.1 #将容器删除(注意:容器中的全部数据都将丢失,操做前请作好相关数据备份) docker rm test_centos7 #将宿主机内的数据复制到容器中 docker cp /etc/yum.repos.d/ test_centos7:/etc/yum.repos.d/ docker cp /etc/localtime test_centos7:/etc/localtime #查看容器IP docker inspect test_centos7 | grep IPAddress #经过Dockerfile文件制做镜像 [1] [2] 1.新建一个目录: mkdir lnmp 2.进入目录下新建Dockerfile文件,内容以下: ############################### # This my first nginx Dockerfile # Version 1.0 # Base images 基础镜像 FROM test/centos7-ssh:v0.1 #ENV 设置环境变量 ENV PATH /usr/local/php_565/bin:$PATH #EXPOSE 80 #EXPOSE 443 #EXPOSE 8080 #CMD 运行如下命令 CMD ["/usr/sbin/init"] ############################### #使用Dockerfile制做镜像 docker build -t test/centos7-ssh:v0.2 . #docker-compose进入某个容器 docker-compose exec php bash #主机意外关机后进入关机前的docker实例 docker ps -a 看容器名 docker start 容器名 #查看docker容器中的进程,docker容器中的进程经过宿主机的ps -ef命令也能够看到 docker top 9b40a74ceb82(容器id) #Docker目录挂载 [1] docker run -it -v /test:/soft centos /bin/bash #启动一个centos容器,宿主机的/test目录挂载到容器的/soft目录 注: 1. 在容器启动后,容器内会自动建立/soft的目录 2. 宿主机目录若是不存在,则会自动生成 #docker经过link方式连接另外一个容器 [1] --link www_mysql:my_mysql_server.cc #经过--link链接名为www_mysql的容器,并为其设置了别名my_mysql_server.cc #重命名镜像tag [1] docker tag 3da0f4853002 docker.io/mysql:latest_v1 #查看指定实例日志 [1] [2] #docker logs -f -t --tail 500 www_mysql #重命名(docker ps -a列表中的)容器 [1] docker rename www_mysql www_mysql_bak #以指定格式显示容器列表 [1] docker ps -a --format "{{.ID}}: {{.Command}}" docker ps -a --format "{{.ID}}: {{.Names}}"