docker基础笔记

1、安装配置

curl -sSL https://get.daocloud.io/docker | sh
sudo usermod -aG docker wayne --非root用户运行docker前需要执行
service docker start --启动
--配置加速器
vi /lib/systemd/system/docker.service
ExecStart=/usr/bin/dockerd -H --registry-mirror=https://jxus37ac.mirror.aliyuncs.com
systemctl daemon-reload
service docker restart

 

2、使用

--启动容器
docker run ubuntu:15.10 /bin/echo "Hello Docker"
--ubuntu:15.10 镜像名称
--/bin/echo "Hello Docker" 在启动的容器里执行的命令
--运行交互式的容器
docker run -it ubuntu:15.10 /bin/bash
--可进入容器内的终端,退出用exit
--运行持续进行的容器
docker run -d ubuntu:15.10 /bin/sh -c "while true; do echo hello docker; sleep 1; done"
--进入容器
docker exec -it mysql bash

 

3、容器管理

--默认端口映射32771->5000
docker run -d -P training/webapp python app.py
-d:让容器在后台运行
-P:将容器内部使用的网络端口映射到我们使用的主机上
--自定端口映射5000->5000
docker run -d -p 5000:5000 training/webapp python app.py
docker logs -f amazing_archimedes --查看日志
docker top amazing_archimedes --查看容器内部运行的进行
docker inspect amazing_archimedes --查看容器配置和状态信息
docker stop amazing_archimedes --根据容器名关闭正在运行的容器
docker start amazing_archimedes --根据容器名启动正在运行的容器
docker restart amazing_archimedes --根据容器名重启正在运行的容器
docker ps --查看在运行的容器
docker ps -a --查看历史容器
docker ps -l --查询最后一次创建的容器
docker rm 9490b017fdf6 5198a90e2406 --删除容器
docker logs -f 5198a90e2406 --查看日志

 

4、镜像管理

docker images --查看镜像列表
docker rmi 923871df4489 --删除镜像
docker run -it ubuntu:15.10 /bin/bash
--使用镜像生成容器并运行容器,不指定版本15.10,会自动下载最新版ubuntu:latest
docker pull ubuntu:14.04 --主动下载镜像
docker search ubuntu --查询官方服务上的镜像
--根据容器生成新镜像
docker commit -m="has update" -a="wayne" 923871df4489 wayne/ubuntu:v1
-m:提交的描述信息
-a:指定镜像作者
9a3dcafd7a83:容器ID
wayne/ubuntu:v1:指定要创建的目标镜像名
--使用Dockerfile构建镜像
cd /usr/local
mkdir docker
mkdir myubuntu
vi Dockerfile
FROM ubuntu:latest --必须是首条指令 from 镜像源
MAINTAINER wayne --作者
RUN /bin/echo 'root:123456' |chpasswd --修改密码
RUN useradd wayne --新增用户
RUN /bin/echo 'wayne:123456' |chpasswd --修改密码
RUN /bin/echo -e "LANG=\"en_US.UTF-8\"" >/etc/default/local --写入值(此处为编码格式配置)
RUN /bin/bash -c 'echo "Hello world!"' --执行命令
COPY 1.txt /home --宿主机中的1.txt复制到镜像中的home中
WORKDIR /home --指定工作目录,可以不写
EXPOSE 22 --开放端口号
EXPOSE 80
EXPOSE 8080
EXPOSE 3306
CMD /usr/sbin/sshd -D --只能有一个CMD:CMD ["/bin/echo","tttt"]
docker build -t wayne/myubuntu:v2 . --构建镜像
docker run -it wayne/myubuntu:v2 /bin/bash --使用创建的镜像构建容器
id wayne
docker tag feca3060c8ec wayne/myubuntu:v3 --为镜像打标签,(创建一个版本)

 

5、数据卷

方法一:dockerfile 中指定 VOLUME 后的目录,如 VOLUME /var/lib/test
方法二:docker run 命令中加 -v 选项。如:
docker run -d -P -v /webapp training/webapp python app.py

 

6、安装Tomcat镜像

docker search tomcat
docker pull tomcat
docker run --name tomcat -p 8080:8080 -v $PWD/test:/usr/local/tomcat/webapps/test -d tomcat
http://192.168.1.7:8980/
-p 8080:8080 --将容器的8080端口映射到主机的8080端口
-v $PWD/test:/usr/local/tomcat/webapps/test --将主机中当前目录下的test挂载到容器的/test

 

7、安装mysql镜像

docker search mysql
docker pull mysql
--启动容器
docker run -p 3306:3306 --name mymysql -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql
--单纯启动
docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql
--进入容器
docker exec -it mysql bash
--登录mysql
mysql -u root -p
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
--添加远程登录用户
CREATE USER 'wayne'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
GRANT ALL PRIVILEGES ON *.* TO 'wayne'@'%';

 

8、docker-compose

--安装
在https://github.com/docker/compose/releases/tag/1.14.0-rc2下载:docker-compose-Linux-x86_64
mv docker-compose-Linux-x86_64 /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose --修改权限
docker-compose version --查看环境
rm /usr/local/bin/docker-compose --卸载docker-compose
--使用
vi /usr/local/docker/docker-compose/docker-compose.yml
version: '3'
services:
tomcat: --同-容器名
restart: always
image: tomcat --镜像名
container_name: tomcat --容器名
ports:
- 8080:8080
volumes:
- /usr/local/docker/tomcat/webapps/test:/usr/local/tomcat/webapps/test
environment:
TZ: Asia/Shanghai
version:指定脚本语法解释器版本
services:要启动的服务列表
webapp:服务名称,可以随便起名,不重复即可
restart:启动方式,这里的 always 表示总是启动,即使服务器重启了也会立即启动服务
image:镜像的名称,默认从 Docker Hub 下载
container_name:容器名称,可以随便起名,不重复即可
ports:端口映射列列表,左边为宿主机端口,右边为容器端口
docker-compose up --运行
docker-compose up -d --后台运行
docker-compose start --启动
docker-compose stop --停止
docker-compose down --停止并移除容器
http://192.168.137.12:8080/
http://192.168.1.7:8980/

 

9、GitLaban安装

--安装
version: '3'
services:
gitlab:
image: 'twang2218/gitlab-ce-zh:10.5'
restart: always
hostname: '192.168.137.12'
environment:
TZ: 'Asia/Shanghai'
GITLAB_OMNIBUS_CONFIG: |
external_url 'http://192.168.137.12:8080'
gitlab_rails['gitlab_shell_ssh_port'] = 2222
unicorn['port'] = 8888
nginx['listen_port'] = 8080
ports:
- '8080:8080'
- '8443:443'
- '2222:22'
volumes:
- /usr/local/docker/gitlab/config:/etc/gitlab
- /usr/local/docker/gitlab/data:/var/opt/gitlab
- /usr/local/docker/gitlab/logs:/var/log/gitlab
docker-compose up -d

 

posted @ 2019-01-13 12:43  AdonisZ  阅读(188)  评论(0)    收藏  举报