从0开始使用Docker

Ubuntu安装docker服务

基本使用

安装放在后面吧

容器

关闭:docker stop \<name>
开启:docker start \<name>
删除:docker rm \<name>
所有:$(docker ps -aq)
将容器制作为镜像
docker commit -a '作者' -m '描述' 容器ID 镜像名

镜像

删除镜像:
docker rmi \<images\>
删除所有镜像:
docker rmi -f $(docker images -qa)
导出镜像:
docker save 镜像名 >  文件名
导入镜像:
docker load \< 包名

export 和 import

export

根据容器 ID 将镜像导出成一个文件。
docker export f299f501774c \> hangger_server.tar

import

将这个镜像文件导入。
docker import - new_hangger_server < hangger_server.tar

安装docker:

先安装curl:

apt install curl

file
再安装docker,我用的daocloud的安装脚本,直接执行就可以了

curl -sSL https://get.daocloud.io/docker | sh

file
看一下是否安装好了:

docker version

file
有时候可能会有差着compose,需要手动安装一下

apt install docker-compose

docker配置:
!!!重启docker:
这里记一下,如果直接用service docker stop关闭docker会出现docker.socket占用docker服务的错
file
停止:
需要先停止docker.socket,再停止docker服务

systemctl stop docker.socket
systemctl stop docker

重启:

systemctl restart docker

所以直接用service docker start作为重启docker命令是不对的
基本配置:

vim /etc/docker/daemon.json

这里面包含了docker一些配置:
具体参数在这里:https://blog.csdn.net/huakai_sun/article/details/83055661
将:

{
  "registry-mirrors": [
    "https://a73cc22x.mirror.aliyuncs.com",
    "https://hub-mirror.c.163.com",
    "http://c0d14726.m.daocloud.io",
    "https://registry.aliyuncs.com"
  ]
}

放到daemon.json里面
file
建议多弄几个镜像站

官方中国区
https://registry.docker-cn.com
网易
http://hub-mirror.c.163.com
阿里云
https://pee6w651.mirror.aliyuncs.com
DaoCloud
http://c0d14726.m.daocloud.io

如果换源之后马上拉取镜像,可能该配置没有生效

重启docker服务:

sudo systemctl daemon-reload
sudo systemctl restart docker

镜像拉取
我在daocloud上面注册了账号,直接拉就可以了
file
登录一下:
file

docker pull daocloud.io/yinhui87/nginx-php-fpm:5.6

file
拉取好以后查看已有的镜像:

docker images

file
我拉了一些其它的镜像
创建容器:

docker run -d -i -p 'Lport':'Dport' --name 'dockername' 'imageID'
docker run -d -i -p 4000:80 --name web eb9

这里的镜像id只需用前几位,能和其它镜像区分开就行,运行起来以后呢,docker ps查看一下
file

容器已经建立起来了

看一下网络信息:ifconfig
file
关于这里的docker网络配置部分的其它操作可见另一篇。

再由于我Ubuntu用的桥接模式,而且容器做了端口映射,所以物理机可以直接访问一下了
file
到这里就可以直接用了
进入docker容器里:

docker exec -it web /bin/sh

file
修改一下index.html
file
再次访问:
file
到这里呢,再把题目源码放进去就可以了
eg:docker cp [源码路径] [容器名称]:[容器路径]
Dockers容器创建镜像
https://blog.csdn.net/qmw19910301/article/details/88070159
https://www.hangge.com/blog/cache/detail_2411.html

发表评论

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据